Object* _bcLdcClass(Env* env, ClassInfoHeader* header) { Class* clazz = header->clazz; if (clazz) return (Object*) clazz; ENTER; clazz = ldcClass(env, header); LEAVE((Object*) clazz); }
jint _bcInstanceof(Env* env, ClassInfoHeader* header, Object* o) { if (!o) return (jint) FALSE; ENTER; Class* clazz = ldcClass(env, header); jboolean b = FALSE; if (clazz) { b = rvmIsInstanceOf(env, o, clazz); } LEAVE((jint) b); }
Object* _bcCheckcast(Env* env, ClassInfoHeader* header, Object* o) { if (!o) return o; ENTER; Class* clazz = ldcClass(env, header); if (clazz) { jboolean b = rvmIsAssignableFrom(env, o->clazz, clazz); if (!rvmExceptionCheck(env) && !b) { rvmThrowClassCastException(env, clazz, o->clazz); } } LEAVE(o); }
void _bcThrowClassCastException(Env* env, ClassInfoHeader* header, Object* o) { ENTER; Class* clazz = ldcClass(env, header); rvmThrowClassCastException(env, clazz, o->clazz); LEAVEV; }
static void initializeClass(Env* env, ClassInfoHeader* header) { Class* clazz = ldcClass(env, header); if (clazz) rvmInitialize(env, clazz); }
Object* _bcLdcClass(Env* env, ClassInfoHeader* header) { ENTER; Class* clazz = ldcClass(env, header); LEAVE((Object*) clazz); }