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

Andrew Haley aph at openjdk.org
Fri Apr 19 09:28:58 UTC 2024


On Thu, 18 Apr 2024 17:19:30 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. Verified with tier 1-5 tests.
>
> Matias Saavedra Silva has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fei comments

src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp line 1786:

> 1784:   add(cache, cache, Array<ResolvedFieldEntry>::base_offset_in_bytes());
> 1785:   lea(cache, Address(cache, index));
> 1786:   // Must prevent reordering of the following cp cache loads with bytecode load

This is rather unclear. Where is the bytecode load to which this comment refers?

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

> 3037:     // access constant pool cache entry
> 3038:     __ load_field_entry(c_rarg2, r0);
> 3039: 

Suggestion:

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

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


More information about the hotspot-compiler-dev mailing list