8048248: G1 Class Unloading after completing a concurrent mark cycle

Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
This commit is contained in:
Stefan Karlsson 2014-07-07 10:12:40 +02:00
parent b0138be158
commit 8c3aced316
75 changed files with 2169 additions and 874 deletions

View file

@ -931,7 +931,10 @@ void HeapRegionRemSet::add_strong_code_root(nmethod* nm) {
void HeapRegionRemSet::remove_strong_code_root(nmethod* nm) {
assert(nm != NULL, "sanity");
_code_roots.remove(nm);
assert_locked_or_safepoint(CodeCache_lock);
_code_roots.remove_lock_free(nm);
// Check that there were no duplicates
guarantee(!_code_roots.contains(nm), "duplicate entry found");
}