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