RFR: 8337797: Additional ExternalAddress cleanup [v2]
Vladimir Kozlov
kvn at openjdk.org
Tue Aug 6 17:00:36 UTC 2024
On Tue, 6 Aug 2024 16:55:30 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> src/hotspot/cpu/x86/stubGenerator_x86_64_arraycopy.cpp line 218:
>>
>>> 216: __ lea(end_from, Address(from, count, sf, 0));
>>> 217: if (NOLp == nullptr) {
>>> 218: RuntimeAddress no_overlap(no_overlap_target);
>>
>> I think this is actually a jump within the same buffer. Can we use an AddressLiteral here with reloc_none and rely on this being encoded with a PC-relative jump?
>
> `relic_none` is treated as unreachable and will force using lea():
> https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/assembler_x86.cpp#L12915
And `runtime_call_type' will be reachable if inside CodeCache:
https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/x86/assembler_x86.cpp#L12897
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20470#discussion_r1705856524
More information about the hotspot-dev
mailing list