Exemple #1
0
Object* _bcLdcClass(Env* env, ClassInfoHeader* header) {
    Class* clazz = header->clazz;
    if (clazz) return (Object*) clazz;
    ENTER;
    clazz = ldcClass(env, header);
    LEAVE((Object*) clazz);
}
Exemple #2
0
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);
}
Exemple #3
0
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);
}
Exemple #4
0
void _bcThrowClassCastException(Env* env, ClassInfoHeader* header, Object* o) {
    ENTER;
    Class* clazz = ldcClass(env, header);
    rvmThrowClassCastException(env, clazz, o->clazz);
    LEAVEV;
}
Exemple #5
0
static void initializeClass(Env* env, ClassInfoHeader* header) {
    Class* clazz = ldcClass(env, header);
    if (clazz) rvmInitialize(env, clazz);
}
Exemple #6
0
Object* _bcLdcClass(Env* env, ClassInfoHeader* header) {
    ENTER;
    Class* clazz = ldcClass(env, header);
    LEAVE((Object*) clazz);
}