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

Matias Saavedra Silva matsaave at openjdk.org
Fri Apr 26 17:54:04 UTC 2024


On Tue, 23 Apr 2024 19:53:01 GMT, Dean Long <dlong at openjdk.org> wrote:

>> My confusion is because @dean-long said
>> 
>> _If I understand correctly, the order of writes must be:
>> 
>>     ResolvedFieldEntry fields, except _get_code and _put_code
>>     _get_code, _put_code
>>     patch_bytecode(fast_bytecode)_
>> 
>> therefore, if that ordering must be maintained, we'll need two store fences. And on the reading side, we'll need two load fences. If that total order is more than is necessary, OK.
>
>> And on the reading side, we'll need two load fences. If that total order is more than is necessary, OK.
> 
> On the read side, I don't think we read _get_code or _put_code for the fast bytecode path, so that's why there is only one barrier needed.

If I understand correctly, it seems like we agree on where the membar belongs, is this right @dean-long? The current placement of the LoadLoad barrier inside `load_field_entry` seems to be sufficient, and to reiterate information from the description, tier 1-5 test results look clean.

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

PR Comment: https://git.openjdk.org/jdk/pull/18477#issuecomment-2079827086


More information about the hotspot-compiler-dev mailing list