src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hsx-gc.pslb Sdiff src/share/vm/gc_implementation/parallelScavenge

src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp

Print this page




  62       JNIHandles::oops_do(&roots_closure);
  63       break;
  64 
  65     case threads:
  66     {
  67       ResourceMark rm;
  68       CLDToOopClosure* cld_closure = NULL; // Not needed. All CLDs are already visited.
  69       Threads::oops_do(&roots_closure, cld_closure, NULL);
  70     }
  71     break;
  72 
  73     case object_synchronizer:
  74       ObjectSynchronizer::oops_do(&roots_closure);
  75       break;
  76 
  77     case flat_profiler:
  78       FlatProfiler::oops_do(&roots_closure);
  79       break;
  80 
  81     case system_dictionary:
  82       {
  83       SystemDictionary::oops_do(&roots_closure);

  84 
  85         // Move this to another root_type?

  86         PSScavengeKlassClosure klass_closure(pm);
  87         ClassLoaderDataGraph::oops_do(&roots_closure, &klass_closure, false);
  88       }
  89       break;
  90 
  91     case management:
  92       Management::oops_do(&roots_closure);
  93       break;
  94 
  95     case jvmti:
  96       JvmtiExport::oops_do(&roots_closure);
  97       break;
  98 
  99 
 100     case code_cache:
 101       {
 102         CodeBlobToOopClosure each_scavengable_code_blob(&roots_to_old_closure, /*do_marking=*/ true);
 103         CodeCache::scavenge_root_nmethods_do(&each_scavengable_code_blob);
 104       }
 105       break;




  62       JNIHandles::oops_do(&roots_closure);
  63       break;
  64 
  65     case threads:
  66     {
  67       ResourceMark rm;
  68       CLDToOopClosure* cld_closure = NULL; // Not needed. All CLDs are already visited.
  69       Threads::oops_do(&roots_closure, cld_closure, NULL);
  70     }
  71     break;
  72 
  73     case object_synchronizer:
  74       ObjectSynchronizer::oops_do(&roots_closure);
  75       break;
  76 
  77     case flat_profiler:
  78       FlatProfiler::oops_do(&roots_closure);
  79       break;
  80 
  81     case system_dictionary:

  82       SystemDictionary::oops_do(&roots_closure);
  83       break;
  84 
  85     case class_loader_data:
  86     {
  87       PSScavengeKlassClosure klass_closure(pm);
  88       ClassLoaderDataGraph::oops_do(&roots_closure, &klass_closure, false);
  89     }
  90     break;
  91 
  92     case management:
  93       Management::oops_do(&roots_closure);
  94       break;
  95 
  96     case jvmti:
  97       JvmtiExport::oops_do(&roots_closure);
  98       break;
  99 
 100 
 101     case code_cache:
 102       {
 103         CodeBlobToOopClosure each_scavengable_code_blob(&roots_to_old_closure, /*do_marking=*/ true);
 104         CodeCache::scavenge_root_nmethods_do(&each_scavengable_code_blob);
 105       }
 106       break;


src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File