src/share/vm/gc_implementation/g1/g1MarkSweep.cpp

Print this page




  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "classfile/javaClasses.hpp"
  27 #include "classfile/symbolTable.hpp"
  28 #include "classfile/systemDictionary.hpp"
  29 #include "classfile/vmSymbols.hpp"
  30 #include "code/codeCache.hpp"
  31 #include "code/icBuffer.hpp"
  32 #include "gc_implementation/g1/g1Log.hpp"
  33 #include "gc_implementation/g1/g1MarkSweep.hpp"
  34 #include "memory/gcLocker.hpp"
  35 #include "memory/genCollectedHeap.hpp"
  36 #include "memory/modRefBarrierSet.hpp"
  37 #include "memory/referencePolicy.hpp"
  38 #include "memory/space.hpp"
  39 #include "oops/instanceRefKlass.hpp"
  40 #include "oops/oop.inline.hpp"
  41 #include "prims/jvmtiExport.hpp"
  42 #include "runtime/aprofiler.hpp"
  43 #include "runtime/biasedLocking.hpp"
  44 #include "runtime/fprofiler.hpp"
  45 #include "runtime/synchronizer.hpp"
  46 #include "runtime/thread.hpp"
  47 #include "runtime/vmThread.hpp"
  48 #include "utilities/copy.hpp"
  49 #include "utilities/events.hpp"
  50 
  51 class HeapRegion;
  52 
  53 void G1MarkSweep::invoke_at_safepoint(ReferenceProcessor* rp,
  54                                       bool clear_all_softrefs) {
  55   assert(SafepointSynchronize::is_at_safepoint(), "must be at a safepoint");
  56 
  57   SharedHeap* sh = SharedHeap::heap();
  58 #ifdef ASSERT
  59   if (sh->collector_policy()->should_clear_all_soft_refs()) {
  60     assert(clear_all_softrefs, "Policy should have been checked earler");
  61   }
  62 #endif




  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "classfile/javaClasses.hpp"
  27 #include "classfile/symbolTable.hpp"
  28 #include "classfile/systemDictionary.hpp"
  29 #include "classfile/vmSymbols.hpp"
  30 #include "code/codeCache.hpp"
  31 #include "code/icBuffer.hpp"
  32 #include "gc_implementation/g1/g1Log.hpp"
  33 #include "gc_implementation/g1/g1MarkSweep.hpp"
  34 #include "memory/gcLocker.hpp"
  35 #include "memory/genCollectedHeap.hpp"
  36 #include "memory/modRefBarrierSet.hpp"
  37 #include "memory/referencePolicy.hpp"
  38 #include "memory/space.hpp"
  39 #include "oops/instanceRefKlass.hpp"
  40 #include "oops/oop.inline.hpp"
  41 #include "prims/jvmtiExport.hpp"

  42 #include "runtime/biasedLocking.hpp"
  43 #include "runtime/fprofiler.hpp"
  44 #include "runtime/synchronizer.hpp"
  45 #include "runtime/thread.hpp"
  46 #include "runtime/vmThread.hpp"
  47 #include "utilities/copy.hpp"
  48 #include "utilities/events.hpp"
  49 
  50 class HeapRegion;
  51 
  52 void G1MarkSweep::invoke_at_safepoint(ReferenceProcessor* rp,
  53                                       bool clear_all_softrefs) {
  54   assert(SafepointSynchronize::is_at_safepoint(), "must be at a safepoint");
  55 
  56   SharedHeap* sh = SharedHeap::heap();
  57 #ifdef ASSERT
  58   if (sh->collector_policy()->should_clear_all_soft_refs()) {
  59     assert(clear_all_softrefs, "Policy should have been checked earler");
  60   }
  61 #endif