< prev index next >
src/hotspot/share/gc/g1/g1CodeCacheRemSet.cpp
Print this page
*** 156,172 ****
G1CodeRootSet::~G1CodeRootSet() {
delete _table;
}
G1CodeRootSetTable* G1CodeRootSet::load_acquire_table() {
! return OrderAccess::load_acquire(&_table);
}
void G1CodeRootSet::allocate_small_table() {
G1CodeRootSetTable* temp = new G1CodeRootSetTable(SmallSize);
! OrderAccess::release_store(&_table, temp);
}
void G1CodeRootSetTable::purge_list_append(G1CodeRootSetTable* table) {
for (;;) {
table->_purge_next = _purge_list;
--- 156,172 ----
G1CodeRootSet::~G1CodeRootSet() {
delete _table;
}
G1CodeRootSetTable* G1CodeRootSet::load_acquire_table() {
! return Atomic::load_acquire(&_table);
}
void G1CodeRootSet::allocate_small_table() {
G1CodeRootSetTable* temp = new G1CodeRootSetTable(SmallSize);
! Atomic::release_store(&_table, temp);
}
void G1CodeRootSetTable::purge_list_append(G1CodeRootSetTable* table) {
for (;;) {
table->_purge_next = _purge_list;
*** 192,202 ****
_table->copy_to(temp);
G1CodeRootSetTable::purge_list_append(_table);
! OrderAccess::release_store(&_table, temp);
}
void G1CodeRootSet::purge() {
G1CodeRootSetTable::purge();
}
--- 192,202 ----
_table->copy_to(temp);
G1CodeRootSetTable::purge_list_append(_table);
! Atomic::release_store(&_table, temp);
}
void G1CodeRootSet::purge() {
G1CodeRootSetTable::purge();
}
< prev index next >