< prev index next >

src/hotspot/share/gc/g1/g1FullGCScope.hpp

Print this page
rev 48000 : [mq]: open.patch


  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_GC_G1_G1FULLGCSCOPE_HPP
  26 #define SHARE_VM_GC_G1_G1FULLGCSCOPE_HPP
  27 
  28 #include "gc/g1/g1CollectedHeap.hpp"
  29 #include "gc/g1/g1HeapTransition.hpp"
  30 #include "gc/shared/collectorCounters.hpp"
  31 #include "gc/shared/gcId.hpp"
  32 #include "gc/shared/gcTrace.hpp"
  33 #include "gc/shared/gcTraceTime.hpp"
  34 #include "gc/shared/gcTimer.hpp"
  35 #include "gc/shared/isGCActiveMark.hpp"
  36 #include "gc/shared/vmGCOperations.hpp"
  37 #include "memory/allocation.hpp"
  38 #include "services/memoryService.hpp"
  39 


  40 // Class used to group scoped objects used in the Full GC together.
  41 class G1FullGCScope : public StackObj {
  42   ResourceMark            _rm;
  43   bool                    _explicit_gc;
  44   G1CollectedHeap*        _g1h;
  45   GCIdMark                _gc_id;
  46   SvcGCMarker             _svc_marker;
  47   STWGCTimer              _timer;
  48   G1FullGCTracer          _tracer;
  49   IsGCActiveMark          _active;
  50   GCTraceCPUTime          _cpu_time;
  51   ClearedAllSoftRefs      _soft_refs;
  52   TraceCollectorStats     _collector_stats;
  53   TraceMemoryManagerStats _memory_stats;
  54   G1HeapTransition        _heap_transition;
  55 
  56 public:
  57   G1FullGCScope(bool explicit_gc, bool clear_soft);
  58   ~G1FullGCScope();
  59 
  60   bool is_explicit_gc();
  61   bool should_clear_soft_refs();
  62 
  63   STWGCTimer* timer();
  64   G1FullGCTracer* tracer();
  65   G1HeapTransition* heap_transition();
  66 };
  67 
  68 #endif //SHARE_VM_GC_G1_G1FULLGCSCOPE_HPP


  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_GC_G1_G1FULLGCSCOPE_HPP
  26 #define SHARE_VM_GC_G1_G1FULLGCSCOPE_HPP
  27 
  28 #include "gc/g1/g1CollectedHeap.hpp"
  29 #include "gc/g1/g1HeapTransition.hpp"
  30 #include "gc/shared/collectorCounters.hpp"
  31 #include "gc/shared/gcId.hpp"
  32 #include "gc/shared/gcTrace.hpp"
  33 #include "gc/shared/gcTraceTime.hpp"
  34 #include "gc/shared/gcTimer.hpp"
  35 #include "gc/shared/isGCActiveMark.hpp"
  36 #include "gc/shared/vmGCOperations.hpp"
  37 #include "memory/allocation.hpp"
  38 #include "services/memoryService.hpp"
  39 
  40 class GCMemoryManager;
  41 
  42 // Class used to group scoped objects used in the Full GC together.
  43 class G1FullGCScope : public StackObj {
  44   ResourceMark            _rm;
  45   bool                    _explicit_gc;
  46   G1CollectedHeap*        _g1h;
  47   GCIdMark                _gc_id;
  48   SvcGCMarker             _svc_marker;
  49   STWGCTimer              _timer;
  50   G1FullGCTracer          _tracer;
  51   IsGCActiveMark          _active;
  52   GCTraceCPUTime          _cpu_time;
  53   ClearedAllSoftRefs      _soft_refs;
  54   TraceCollectorStats     _collector_stats;
  55   TraceMemoryManagerStats _memory_stats;
  56   G1HeapTransition        _heap_transition;
  57 
  58 public:
  59   G1FullGCScope(GCMemoryManager* memory_manager, bool explicit_gc, bool clear_soft);
  60   ~G1FullGCScope();
  61 
  62   bool is_explicit_gc();
  63   bool should_clear_soft_refs();
  64 
  65   STWGCTimer* timer();
  66   G1FullGCTracer* tracer();
  67   G1HeapTransition* heap_transition();
  68 };
  69 
  70 #endif //SHARE_VM_GC_G1_G1FULLGCSCOPE_HPP
< prev index next >