RFR: JDK-8286666: JEP 429: Implementation of Scoped Values (Incubator) [v33]

Andrew Haley aph at openjdk.org
Thu Dec 1 17:30:34 UTC 2022


On Wed, 30 Nov 2022 21:34:59 GMT, Dean Long <dlong at openjdk.org> wrote:

>> Andrew Haley has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Unused variable
>
> src/hotspot/cpu/aarch64/aarch64.ad line 3635:
> 
>> 3633:       }
>> 3634:     } else if (_method->intrinsic_id() == vmIntrinsicID::_ensureMaterializedForStackWalk) {
>> 3635:       __ nop();
> 
> Please add a comment explaining why the nop is needed or desirable here.

It's there because C2 in this area is littered with bits of code that use magic offsets, and I don't know how to find them all. It seemed safest to keep everything the same size. Hence, a 4-byte NOP in AArch64 and a 5-byte NOP in x86.

> src/hotspot/cpu/x86/x86_64.ad line 2174:
> 
>> 2172:                      RELOC_DISP32);
>> 2173:     } else if (_method->intrinsic_id() == vmIntrinsicID::_ensureMaterializedForStackWalk) {
>> 2174:       __ addr_nop_5();
> 
> Needs a comment.  I guess this is because of how call sizes are computed.

Yes, that's my guess. I didn't want to change any offsets.

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

PR: https://git.openjdk.org/jdk/pull/10952


More information about the core-libs-dev mailing list