RFR: JDK-8131645 [ARM64] crash on Cavium when using G1

Andrew Haley aph at redhat.com
Mon Sep 28 09:12:29 UTC 2015


On 27/09/15 19:03, Andrew Haley wrote:
> On 21/09/15 15:05, Tom Benson wrote:
>> Looks good to me.  One comment, though, which you can choose to ignore:  
>> My personal preference would be for _release to be used only when 
>> matching _acquire, and in cases like this, storestore to be used 
>> instead.
> 
> I see:
> 
> CodeRootSetTable* G1CodeRootSet::load_acquire_table() {
>   return (CodeRootSetTable*) OrderAccess::load_ptr_acquire(&_table);
> }
> 
> It looks to me that everywhere there is a barrier on a CodeRootSetTable,
> it's either acquire or release.

Ah, or is it simply that you're relying on the address dependency when
reading from fields in a CodeRootSetTable pointed to by _table to make
sure that you're not reading stale data?

Andrew.




More information about the hotspot-gc-dev mailing list