I don't see anywhere in HotSpot that uses java_lang_invoke_ResolvedMethodName::_vmholder_offset, which is declared here:


I tried commenting out the initialization of this field and was able to run a simple Lambda test.

diff -r 9255cb73f048 src/hotspot/share/classfile/javaClasses.cpp
--- a/src/hotspot/share/classfile/javaClasses.cpp    Mon May 07 15:29:31 2018 -0700 +++ b/src/hotspot/share/classfile/javaClasses.cpp    Mon May 07 17:27:27 2018 -0700
@@ -3808,7 +3808,7 @@
     // Add a reference to the loader (actually mirror because anonymous classes will not have
     // distinct loaders) to ensure the metadata is kept alive.
     // This mirror may be different than the one in clazz field.
-    new_resolved_method->obj_field_put(_vmholder_offset, m->method_holder()->java_mirror()); +    //new_resolved_method->obj_field_put(_vmholder_offset, m->method_holder()->java_mirror());      resolved_method = ResolvedMethodTable::add_method(Handle(THREAD, new_resolved_method));

Any plans to use vmholder in the future? Or, is this used by any non-HotSpot VM?

If no one uses it, I'll file an RFE to remove it, so we can save a pointer per MemberName.

- Ioi

mlvm-dev mailing list

Reply via email to