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.
Coleen
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