< prev index next >

src/share/vm/code/codeCache.cpp

Print this page

        

@@ -743,17 +743,16 @@
 void CodeCache::gc_prologue() {
 }
 
 void CodeCache::gc_epilogue() {
   assert_locked_or_safepoint(CodeCache_lock);
+  NOT_DEBUG(if (needs_cache_clean())) {
   NMethodIterator iter;
-  while(iter.next()) {
+    while(iter.next_alive()) {
     nmethod* nm = iter.method();
-    if (!nm->is_zombie()) {
-      if (needs_cache_clean()) {
-        // Clean ICs of unloaded nmethods as well because they may reference other
-        // unloaded nmethods that may be flushed earlier in the sweeper cycle.
+      assert(!nm->is_unloaded(), "Tautology");
+      DEBUG_ONLY(if (needs_cache_clean())) {
         nm->cleanup_inline_caches();
       }
       DEBUG_ONLY(nm->verify());
       DEBUG_ONLY(nm->verify_oop_relocations());
     }
< prev index next >