73 }
74 };
75
76 //
77 // CollectedHeap
78 // GenCollectedHeap
79 // G1CollectedHeap
80 // ParallelScavengeHeap
81 //
82 class CollectedHeap : public CHeapObj<mtInternal> {
83 friend class VMStructs;
84 friend class IsGCActiveMark; // Block structured external access to _is_gc_active
85
86 private:
87 #ifdef ASSERT
88 static int _fire_out_of_memory_count;
89 #endif
90
91 GCHeapLog* _gc_heap_log;
92
93 // Used in support of ReduceInitialCardMarks; only consulted if COMPILER2 is being used
94 bool _defer_initial_card_mark;
95
96 MemRegion _reserved;
97
98 protected:
99 BarrierSet* _barrier_set;
100 bool _is_gc_active;
101
102 // Used for filler objects (static, but initialized in ctor).
103 static size_t _filler_array_max_size;
104
105 unsigned int _total_collections; // ... started
106 unsigned int _total_full_collections; // ... started
107 NOT_PRODUCT(volatile size_t _promotion_failure_alot_count;)
108 NOT_PRODUCT(volatile size_t _promotion_failure_alot_gc_number;)
109
110 // Reason for current garbage collection. Should be set to
111 // a value reflecting no collection between collections.
112 GCCause::Cause _gc_cause;
113 GCCause::Cause _gc_lastcause;
|
73 }
74 };
75
76 //
77 // CollectedHeap
78 // GenCollectedHeap
79 // G1CollectedHeap
80 // ParallelScavengeHeap
81 //
82 class CollectedHeap : public CHeapObj<mtInternal> {
83 friend class VMStructs;
84 friend class IsGCActiveMark; // Block structured external access to _is_gc_active
85
86 private:
87 #ifdef ASSERT
88 static int _fire_out_of_memory_count;
89 #endif
90
91 GCHeapLog* _gc_heap_log;
92
93 // Used in support of ReduceInitialCardMarks; only consulted if COMPILER2
94 // or INCLUDE_JVMCI is being used
95 bool _defer_initial_card_mark;
96
97 MemRegion _reserved;
98
99 protected:
100 BarrierSet* _barrier_set;
101 bool _is_gc_active;
102
103 // Used for filler objects (static, but initialized in ctor).
104 static size_t _filler_array_max_size;
105
106 unsigned int _total_collections; // ... started
107 unsigned int _total_full_collections; // ... started
108 NOT_PRODUCT(volatile size_t _promotion_failure_alot_count;)
109 NOT_PRODUCT(volatile size_t _promotion_failure_alot_gc_number;)
110
111 // Reason for current garbage collection. Should be set to
112 // a value reflecting no collection between collections.
113 GCCause::Cause _gc_cause;
114 GCCause::Cause _gc_lastcause;
|