< prev index next >

src/hotspot/share/gc/parallel/psScavenge.cpp

Print this page
@@ -98,11 +98,11 @@
        }
        break;
  
      case ParallelRootType::code_cache:
        {
-         MarkingCodeBlobClosure code_closure(&roots_to_old_closure, CodeBlobToOopClosure::FixRelocations);
+         MarkingCodeBlobClosure code_closure(&roots_to_old_closure, CodeBlobToOopClosure::FixRelocations, true /* keepalive nmethods */);
          ScavengableNMethods::nmethods_do(&code_closure);
        }
        break;
  
      case ParallelRootType::sentinel:

@@ -266,11 +266,11 @@
    virtual void do_thread(Thread* thread) {
      assert(ParallelScavengeHeap::heap()->is_gc_active(), "called outside gc");
  
      PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(_worker_id);
      PSScavengeRootsClosure roots_closure(pm);
-     MarkingCodeBlobClosure roots_in_blobs(&roots_closure, CodeBlobToOopClosure::FixRelocations);
+     MarkingCodeBlobClosure roots_in_blobs(&roots_closure, CodeBlobToOopClosure::FixRelocations, true /* keepalive nmethods */);
  
      thread->oops_do(&roots_closure, &roots_in_blobs);
  
      // Do the real work
      pm->drain_stacks(false);
< prev index next >