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