RFR: 8327647: Occasional SIGSEGV in markWord::displaced_mark_helper() for SPECjvm2008 sunflow [v4]
Coleen Phillimore
coleenp at openjdk.org
Tue Apr 23 20:43:31 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
Yes, the fast path assumes that put_code and get_code are already set since we're in the fast path. For this patch, t2 (the reader) has the LoadLoad membar between t2-3 and t2-4. I assume it doesn't matter where, but there were a few places where we loaded the pointer to ResolvedFieldEntry that had the LoadLoad membar. The bug was because one was missing. That's why I thought it should be moved to inside of load_field_entry, so that all readers would have the membar. There were also some fast-path jvmti cases where the membar was missing.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/18477#issuecomment-2073407449
More information about the hotspot-compiler-dev
mailing list