RFR: 8329331: Intrinsify Unsafe::setMemory [v23]
Scott Gibbons
sgibbons at openjdk.org
Fri Apr 19 22:08:53 UTC 2024
On Fri, 19 Apr 2024 20:58:43 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> src/hotspot/cpu/x86/stubGenerator_x86_64_arraycopy.cpp line 2638:
>>
>>> 2636: L_exit, _masm);
>>> 2637: }
>>> 2638: __ jmp(L_exit);
>>
>> Here is long jump to `L_exit` after `do_setmemory_atomic_loop()` call. Should this be also short jump?
>
> Do we have additional code in debug VM wihch increase distance and requires long jump? I don't see it. Usually it something which call `__ STOP()`.
The old code required a long jump due to the size of `do_setmemory_atomic_loop` but has since been refactored. The `jmp(Label)` code will generate a short jump provided the label has been defined and is in range. Otherwise a long jump is generated.
Changed to `jmpb`
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18555#discussion_r1573012933
More information about the core-libs-dev
mailing list