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
|