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 { |