RFR 8245289: Clean up offset code in JavaClasses

Lois Foltan lois.foltan at oracle.com
Fri May 29 15:32:41 UTC 2020


On 5/28/2020 8:48 AM, coleen.phillimore at oracle.com wrote:
> Summary: Make offset member names consistent and private, move static 
> initializations near owning classes
>
> This one is better.  I gave up on the X macros because they didn't 
> save typing.  The changes here were to add underscores to offset field 
> names, remove _in_bytes for offset accessors and add asserts that the 
> offset is non-zero, made java_lang_ref_Reference offset fields 
> private, and moved static member definitions closer to the class 
> instead of some random place in javaClasses.cpp.
>
> See discussion for 8243996 Remove hardcoded field offsets for more 
> details. 
> https://mail.openjdk.java.net/pipermail/hotspot-dev/2020-May/041732.html
>
> Tested with tier1-6.
>
> open webrev at http://cr.openjdk.java.net/~coleenp/2020/8245289.01/webrev
> bug link https://bugs.openjdk.java.net/browse/JDK-8245289
>
> Thanks,
> Coleen

Hi Coleen,

Looks good.  Minor nits:

share/classfile/javaClasses.hpp
- line #239, can you add the "private" keyword back into the 
java_lang_Class class definition.  Having the "private" keyword is 
consistent with how every other class is defined in the file.
- line #887, since you are making changes to the value_offset() method 
can you change the type check for T_LONG or T_DOUBLE to call 
is_double_word_type().

I don't have a preference concerning the discussion on the 
initialization with explicit value vs. no value for the static field 
declarations.  I'm fine with pushing your patch as is.

Thanks,
Lois


More information about the hotspot-dev mailing list