Mercurial > hg > graal-compiler
comparison src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp @ 20278:2c6ef90f030a
8049421: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
Contributed-by: stefan.karlsson@oracle.com, mikael.gerdin@oracle.com
author | stefank |
---|---|
date | Mon, 07 Jul 2014 10:12:40 +0200 |
parents | 828056cf311f |
children | a3953c777565 |
comparison
equal
deleted
inserted
replaced
20277:882004b9e7e1 | 20278:2c6ef90f030a |
---|---|
927 _code_roots.add(nm); | 927 _code_roots.add(nm); |
928 } | 928 } |
929 | 929 |
930 void HeapRegionRemSet::remove_strong_code_root(nmethod* nm) { | 930 void HeapRegionRemSet::remove_strong_code_root(nmethod* nm) { |
931 assert(nm != NULL, "sanity"); | 931 assert(nm != NULL, "sanity"); |
932 _code_roots.remove(nm); | 932 assert_locked_or_safepoint(CodeCache_lock); |
933 | |
934 _code_roots.remove_lock_free(nm); | |
935 | |
933 // Check that there were no duplicates | 936 // Check that there were no duplicates |
934 guarantee(!_code_roots.contains(nm), "duplicate entry found"); | 937 guarantee(!_code_roots.contains(nm), "duplicate entry found"); |
935 } | 938 } |
936 | 939 |
937 class NMethodMigrationOopClosure : public OopClosure { | 940 class NMethodMigrationOopClosure : public OopClosure { |