RFR: 8327647: Occasional SIGSEGV in markWord::displaced_mark_helper() for SPECjvm2008 sunflow

SUN Guoyun duke at openjdk.org
Thu Apr 11 21:19:49 UTC 2024


On Mon, 25 Mar 2024 19:41:02 GMT, Matias Saavedra Silva <matsaave at openjdk.org> wrote:

> A misplaced memory barrier causes a very intermittent crash on on some aarch64 systems. This patch adds an appropriate LoadLoad barrier after a constant pool cache field entry is loaded.

src/hotspot/cpu/aarch64/templateTable_aarch64.cpp line 3085:

> 3083:   __ push(r0);
> 3084:   // R1: field offset, R2: TOS, R3: flags
> 3085:   load_resolved_field_entry(r2, r2, r0, r1, r3);

It is useless to use r0 here, so can we change it to noreg and eliminate the use of push(r0)/pop(r0)?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18477#discussion_r1538673162


More information about the hotspot-compiler-dev mailing list