@@ -409,6 +409,7 @@ C2V_VMENTRY_NULL(jobject, getResolvedJavaType0, (JNIEnv* env, jobject, jobject b
409409 JVMCI_THROW_MSG_NULL (NullPointerException, " base object is null" );
410410 }
411411
412+ const char * base_desc = nullptr ;
412413 JVMCIKlassHandle klass (THREAD);
413414 if (offset == oopDesc::klass_offset_in_bytes()) {
414415 if (JVMCIENV->isa_HotSpotObjectConstantImpl (base_object)) {
@@ -423,6 +424,7 @@ C2V_VMENTRY_NULL(jobject, getResolvedJavaType0, (JNIEnv* env, jobject, jobject b
423424 if (offset == ConstantPool::pool_holder_offset_in_bytes ()) {
424425 klass = cp->pool_holder ();
425426 } else {
427+ base_desc = FormatBufferResource (" [constant pool for %s]" , cp->pool_holder ()->signature_name ());
426428 goto unexpected;
427429 }
428430 } else if (JVMCIENV->isa_HotSpotResolvedObjectTypeImpl (base_object)) {
@@ -442,6 +444,7 @@ C2V_VMENTRY_NULL(jobject, getResolvedJavaType0, (JNIEnv* env, jobject, jobject b
442444 int index = (offset - in_bytes (Klass::primary_supers_offset ())) / sizeof (Klass*);
443445 klass = base_klass->primary_super_of_depth (index);
444446 } else {
447+ base_desc = FormatBufferResource (" [%s]" , base_klass->signature_name ());
445448 goto unexpected;
446449 }
447450 } else if (JVMCIENV->isa_HotSpotObjectConstantImpl (base_object)) {
@@ -452,9 +455,13 @@ C2V_VMENTRY_NULL(jobject, getResolvedJavaType0, (JNIEnv* env, jobject, jobject b
452455 } else if (offset == java_lang_Class::array_klass_offset ()) {
453456 klass = java_lang_Class::array_klass_acquire (base_oop ());
454457 } else {
458+ base_desc = FormatBufferResource (" [Class=%s]" , java_lang_Class::as_Klass (base_oop ())->signature_name ());
455459 goto unexpected;
456460 }
457461 } else {
462+ if (!base_oop.is_null ()) {
463+ base_desc = FormatBufferResource (" [%s]" , base_oop ()->klass ()->signature_name ());
464+ }
458465 goto unexpected;
459466 }
460467 } else if (JVMCIENV->isa_HotSpotMethodData (base_object)) {
@@ -481,8 +488,8 @@ C2V_VMENTRY_NULL(jobject, getResolvedJavaType0, (JNIEnv* env, jobject, jobject b
481488
482489unexpected:
483490 JVMCI_THROW_MSG_NULL (IllegalArgumentException,
484- err_msg (" Unexpected arguments: %s " JLONG_FORMAT " %s" ,
485- base_object.is_non_null() ? JVMCIENV->klass_name(base_object) : "null" ,
491+ err_msg (" Unexpected arguments: %s%s " JLONG_FORMAT " %s" ,
492+ JVMCIENV->klass_name (base_object), base_desc == nullptr ? "" : base_desc ,
486493 offset, compressed ? "true" : "false"));
487494}
488495
0 commit comments