equal
deleted
inserted
replaced
156 G1CodeRootSet::~G1CodeRootSet() { |
156 G1CodeRootSet::~G1CodeRootSet() { |
157 delete _table; |
157 delete _table; |
158 } |
158 } |
159 |
159 |
160 G1CodeRootSetTable* G1CodeRootSet::load_acquire_table() { |
160 G1CodeRootSetTable* G1CodeRootSet::load_acquire_table() { |
161 return OrderAccess::load_acquire(&_table); |
161 return Atomic::load_acquire(&_table); |
162 } |
162 } |
163 |
163 |
164 void G1CodeRootSet::allocate_small_table() { |
164 void G1CodeRootSet::allocate_small_table() { |
165 G1CodeRootSetTable* temp = new G1CodeRootSetTable(SmallSize); |
165 G1CodeRootSetTable* temp = new G1CodeRootSetTable(SmallSize); |
166 |
166 |
167 OrderAccess::release_store(&_table, temp); |
167 Atomic::release_store(&_table, temp); |
168 } |
168 } |
169 |
169 |
170 void G1CodeRootSetTable::purge_list_append(G1CodeRootSetTable* table) { |
170 void G1CodeRootSetTable::purge_list_append(G1CodeRootSetTable* table) { |
171 for (;;) { |
171 for (;;) { |
172 table->_purge_next = _purge_list; |
172 table->_purge_next = _purge_list; |
192 |
192 |
193 _table->copy_to(temp); |
193 _table->copy_to(temp); |
194 |
194 |
195 G1CodeRootSetTable::purge_list_append(_table); |
195 G1CodeRootSetTable::purge_list_append(_table); |
196 |
196 |
197 OrderAccess::release_store(&_table, temp); |
197 Atomic::release_store(&_table, temp); |
198 } |
198 } |
199 |
199 |
200 void G1CodeRootSet::purge() { |
200 void G1CodeRootSet::purge() { |
201 G1CodeRootSetTable::purge(); |
201 G1CodeRootSetTable::purge(); |
202 } |
202 } |