RFR: JDK-8294947: Use 64bit atomics in patch_verified_entry on x86_64

Vladimir Ivanov vlivanov at openjdk.org
Sat Nov 12 00:42:40 UTC 2022


On Wed, 9 Nov 2022 12:41:59 GMT, Dmitry Samersoff <dsamersoff at openjdk.org> wrote:

> In the void NativeJump::patch_verified_entry() we atomically patch first 4 bytes, then atomically patch 5th byte, then atomically patch first 4 bytes again. But from CMC (cross-modified code) point of view it's better to patch atomically 8 bytes at once.
> 
> The patch was tested with hotspot jtreg tests in bare-metal and virtualized environments.

src/hotspot/cpu/x86/nativeInst_x86.cpp line 513:

> 511: void NativeJump::patch_verified_entry(address entry, address verified_entry, address dest) {
> 512:   // complete jump instruction (to be inserted) is in code_buffer;
> 513: #ifdef AMD64

Just a minor suggestion: `_LP64` is more appropriate here since it's x86-specific file.

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

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


More information about the hotspot-compiler-dev mailing list