hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp
changeset 25491 70fb742e40aa
parent 25490 59f226da8d81
child 25492 d27050bdfb04
equal deleted inserted replaced
25490:59f226da8d81 25491:70fb742e40aa
    98       break;
    98       break;
    99 
    99 
   100 
   100 
   101     case code_cache:
   101     case code_cache:
   102       {
   102       {
   103         MarkingCodeBlobClosure each_scavengable_code_blob(&roots_to_old_closure, CodeBlobToOopClosure::FixRelocations);
   103         CodeBlobToOopClosure each_scavengable_code_blob(&roots_to_old_closure, /*do_marking=*/ true);
   104         CodeCache::scavenge_root_nmethods_do(&each_scavengable_code_blob);
   104         CodeCache::scavenge_root_nmethods_do(&each_scavengable_code_blob);
   105       }
   105       }
   106       break;
   106       break;
   107 
   107 
   108     default:
   108     default:
   121   assert(Universe::heap()->is_gc_active(), "called outside gc");
   121   assert(Universe::heap()->is_gc_active(), "called outside gc");
   122 
   122 
   123   PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(which);
   123   PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(which);
   124   PSScavengeRootsClosure roots_closure(pm);
   124   PSScavengeRootsClosure roots_closure(pm);
   125   CLDClosure* roots_from_clds = NULL;  // Not needed. All CLDs are already visited.
   125   CLDClosure* roots_from_clds = NULL;  // Not needed. All CLDs are already visited.
   126   MarkingCodeBlobClosure roots_in_blobs(&roots_closure, CodeBlobToOopClosure::FixRelocations);
   126   CodeBlobToOopClosure roots_in_blobs(&roots_closure, /*do_marking=*/ true);
   127 
   127 
   128   if (_java_thread != NULL)
   128   if (_java_thread != NULL)
   129     _java_thread->oops_do(&roots_closure, roots_from_clds, &roots_in_blobs);
   129     _java_thread->oops_do(&roots_closure, roots_from_clds, &roots_in_blobs);
   130 
   130 
   131   if (_vm_thread != NULL)
   131   if (_vm_thread != NULL)