RFR: 8256999: Add C2 intrinsic for Reference.refersTo and PhantomReference::refersTo

Vladimir Kozlov kvn at openjdk.java.net
Wed Nov 25 17:43:58 UTC 2020


On Wed, 25 Nov 2020 08:18:23 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> src/hotspot/share/opto/c2compiler.cpp line 476:
>> 
>>> 474:     if (UseCompressedOops && UseShenandoahGC) return false;
>>> 475: #endif
>>> 476:     break;
>> 
>> Is this intended to disable the intrinsic on all non-64-bit platforms? Is that only for Shenandoah 64-bit? I wonder if it should just be:
>> 
>>   case vmIntrinsics::_PhantomReference_refersTo0:
>>     if (UseCompressedOops && UseShenandoahGC) return false;
>>     break;
>
> Considering `UseCompressedOops` doesn't make much sense in 32-bit mode and is set to `false`, it seems `#ifdef` can be just dropped.

You are right. I thought flag UseCompressedOops is defined only in 64-bit  VM.
@shipilev, #ifdef was placed incorrectly - it should be after `case:`. But as you both pointed, it is not needed. I will remove it.

-------------

PR: https://git.openjdk.java.net/jdk/pull/1425


More information about the core-libs-dev mailing list