RFR (XS) 8225104: 32-bit build failures after JDK-8222252

David Holmes david.holmes at oracle.com
Fri May 31 13:41:26 UTC 2019


On 31/05/2019 7:45 pm, Aleksey Shipilev wrote:
> On 5/31/19 11:32 AM, David Holmes wrote:
>> On 31/05/2019 6:25 pm, Aleksey Shipilev wrote:
>>> Bug:
>>>     https://bugs.openjdk.java.net/browse/JDK-8225104
>>>
>>> The new UseCompressedOops block has to be protected with _LP64, like all other blocks are. I think
>>> it is a trivial change, please review.
>>
>> Why should that be?
>>
>> ./share/runtime/globals.hpp:  lp64_product(bool, UseCompressedOops,
>> false,                              \
>> ./share/runtime/globals.hpp:          "lp64_product means flag is always constant in 32 bit
>> VM")        \
>>
>> I don't see any ifdef around its use here:
>>
>> share/utilities/globalDefinitions.cpp
>> cpu/x86/templateTable_x86.cpp
> 
> I believe the actual failure is down at:
> 
> 1816           FLAG_SET_ERGO(UseCompressedOops, false);
> 1817           FLAG_SET_ERGO(UseCompressedClassPointers, false);

Interesting. I would have expected the compiler to ignore the entire 
block given the condition should be a compile-time constant of false.

> And while we can protect those specifically, I see arguments.cpp just ifdefs the entire
> UseCompressedOops blocks in other instances. So, it seems consistent to do the same here.

Okay. Thanks for the additional info.

David
-----

> -Aleksey
> 


More information about the hotspot-dev mailing list