RFR: JDK-8223400 Replace some enums with static const members in hotspot/runtime

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Mon Oct 21 17:48:43 UTC 2019

It looks good to me as well.

On 10/21/19 12:37 PM, Ioi Lam wrote:
> This looks good to me.
> Thanks
> - Ioi
> On 10/20/19 11:45 PM, Magnus Ihse Bursie wrote:
>> Hi,
>> Can I please have a review for this fix for mixing enums with non-enums?
>> While the patch itself may not look much to the world, it is 
>> unfortunately blocking future improvements in enabling warnings in 
>> the build.
>> The first part of the fix, in klass.hpp, is lifted verbatim from 
>> Rahul's fix in JDK-8213416. It was removed from that bug since the 
>> rest of it targeted hotspot/compiler, and the hotspot/runtime part 
>> was split out into this bug. This fix follows Kim Barrett's 
>> suggestion that the enums in question should rather be static consts 
>> members.
>> The second part of the fix, in jvm.cpp, uses the enum 
>> JVM_CONSTANT_Class in a trinary operator together with a unsigned 
>> char value, assigning to an unsigned char array. Unfortunately, 
>> JVM_CONSTANT_Class is defined in include/classfile_constants.h from 
>> java.base, so changing it is not feasible. (I believe it is an 
>> exported interface, for starters.) Also, given the context, it seems 
>> reasonable to keep it as an enum. Hence, the explicit cast to 
>> unsigned char in jvm.cpp.
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8223400
>> WebRev: 
>> http://cr.openjdk.java.net/~ihse/JDK-8223400-fix-hotspot-enum-warnings/webrev.01
>> /Magnus

More information about the hotspot-runtime-dev mailing list