equal
deleted
inserted
replaced
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; |
173 G1CodeRootSetTable* old = Atomic::cmpxchg(table, &_purge_list, table->_purge_next); |
173 G1CodeRootSetTable* old = Atomic::cmpxchg(&_purge_list, table->_purge_next, table); |
174 if (old == table->_purge_next) { |
174 if (old == table->_purge_next) { |
175 break; |
175 break; |
176 } |
176 } |
177 } |
177 } |
178 } |
178 } |