[lworld] RFR: 8245584: [lworld] LW3 core reflection update

Tobias Hartmann thartmann at openjdk.java.net
Mon May 25 14:04:22 UTC 2020

On Fri, 22 May 2020 20:10:41 GMT, Mandy Chung <mchung at openjdk.org> wrote:

>> src/hotspot/share/classfile/javaClasses.cpp line 1023:
>>> 1022:         set_ref_type_mirror(ref_type_oop, ref_type_oop);
>>> 1023:       }
>>> 1024:     }
>> With this code, if the super type of the inline type is `j.l.Object`, `Class:refType` will remain `null`. I'm not sure
>> that the VM code is ready to handle this situation. The only use case I've found is in
>> `LibraryCallKit::inline_value_Class_conversion(vmIntrinsics::ID id)` and I'm not familiar with it (the compiler team
>> might want to take a look at it).
> The current compiler implementation is left from LW2.  It needs update for the new language model and I suspect it does
> not depend on the ref type.
> Are you okay if I integrate this change now and follow up with the compiler team separately?

LibraryCallKit::inline_value_Class_conversion() implements the C2 intrinsics for asIndirectType/asPrimaryType which you
are removing anyway and is therefore not needed anymore. I have a patch ready that removes this and also removes all
the other remaining LW2 dependencies from the compiler code (JDK-8245729). I would suggest that it should go in first.


PR: https://git.openjdk.java.net/valhalla/pull/53

More information about the valhalla-dev mailing list