# HG changeset patch # User ecaspole # Date 1442846196 14400 # Node ID f9720c487762761b6822455aea92f5851b623bd6 # Parent 5b75aaed29fcdcb165b4987f4ba58552c04583c0 8131645: [ARM64] crash on Cavium when using G1 Summary: Add a fence when creating the CodeRootSetTable so the readers do not see invalid memory. Reviewed-by: aph, tschatzl diff -r 5b75aaed29fc -r f9720c487762 src/share/vm/gc_implementation/g1/g1CodeCacheRemSet.cpp --- a/src/share/vm/gc_implementation/g1/g1CodeCacheRemSet.cpp Thu Oct 15 15:33:54 2015 +0000 +++ b/src/share/vm/gc_implementation/g1/g1CodeCacheRemSet.cpp Mon Sep 21 10:36:36 2015 -0400 @@ -200,6 +200,9 @@ void G1CodeRootSet::allocate_small_table() { _table = new CodeRootSetTable(SmallSize); + CodeRootSetTable* temp = new CodeRootSetTable(SmallSize); + + OrderAccess::release_store_ptr(&_table, temp); } void CodeRootSetTable::purge_list_append(CodeRootSetTable* table) {