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

Andrew Haley aph at openjdk.org
Fri Apr 19 19:01:57 UTC 2024


On Fri, 19 Apr 2024 15:51:47 GMT, Matias Saavedra Silva <matsaave at openjdk.org> wrote:

>> 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?
>
> This comment was above all the other uses of membar and was just moved here for convenience. The "bytecode load" being referred to here is `InterpreterMacroAssembler::dispatch_next`. The bytecode loading could be scheduled before the cache entry is resolved.

The comment at the stop says "This patch adds an appropriate LoadLoad barrier after a constant pool cache field entry is loaded." But this seems to be before the constant pool cache field entry is loaded.

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

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


More information about the hotspot-compiler-dev mailing list