< prev index next >

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

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

*** 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);
  
      thread->oops_do(&roots_closure, &roots_in_blobs);
  
      // Do the real work
      pm->drain_stacks(false);
--- 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, true /* keepalive nmethods */);
  
      thread->oops_do(&roots_closure, &roots_in_blobs);
  
      // Do the real work
      pm->drain_stacks(false);
< prev index next >