static ClassInfo getDataRepresentationClassInfo(MJIEnv env, FeatureExpr ctx) { ThreadInfo ti = env.getThreadInfo(); // Instruction insn = ti.getPC().getValue(); ClassInfo ci = ClassLoaderInfo.getSystemResolvedClassInfo(DataRepresentation); if (ci.pushRequiredClinits(ctx, ti)) { env.repeatInvocation(); return null; } return ci; }
static boolean isAvailable(MJIEnv env, FieldInfo fi, int fobjRef) { if (fi.isStatic()) { ClassInfo fci = fi.getClassInfo(); if (fci.requiresClinitExecution(env.getThreadInfo())) { env.repeatInvocation(); return false; } } else { if (fobjRef == MJIEnv.NULL) { env.throwException("java.lang.NullPointerException"); return false; } // class had obviously been initialized, otherwise we won't have an instance of it } return true; }