equal
deleted
inserted
replaced
555 C2V_VMENTRY(jobject, resolveTypeInPool, (JNIEnv* env, jobject, jobject jvmci_constant_pool, jint index)) |
555 C2V_VMENTRY(jobject, resolveTypeInPool, (JNIEnv* env, jobject, jobject jvmci_constant_pool, jint index)) |
556 constantPoolHandle cp = JVMCIENV->asConstantPool(jvmci_constant_pool); |
556 constantPoolHandle cp = JVMCIENV->asConstantPool(jvmci_constant_pool); |
557 Klass* klass = cp->klass_at(index, CHECK_NULL); |
557 Klass* klass = cp->klass_at(index, CHECK_NULL); |
558 JVMCIKlassHandle resolved_klass(THREAD, klass); |
558 JVMCIKlassHandle resolved_klass(THREAD, klass); |
559 if (resolved_klass->is_instance_klass()) { |
559 if (resolved_klass->is_instance_klass()) { |
560 InstanceKlass::cast(resolved_klass())->link_class_or_fail(THREAD); |
560 bool linked = InstanceKlass::cast(resolved_klass())->link_class_or_fail(CHECK_NULL); |
|
561 if (!linked) { |
|
562 return NULL; |
|
563 } |
561 } |
564 } |
562 JVMCIObject klassObject = JVMCIENV->get_jvmci_type(resolved_klass, JVMCI_CHECK_NULL); |
565 JVMCIObject klassObject = JVMCIENV->get_jvmci_type(resolved_klass, JVMCI_CHECK_NULL); |
563 return JVMCIENV->get_jobject(klassObject); |
566 return JVMCIENV->get_jobject(klassObject); |
564 C2V_END |
567 C2V_END |
565 |
568 |