104 // allocation request that failed in the youngest generation that should
105 // have handled it (including collection, expansion, etc.)
106 HeapWord* satisfy_failed_allocation(size_t size, bool is_tlab);
107
108 // Callback from VM_GenCollectFull operation.
109 // Perform a full collection of the first max_level+1 generations.
110 virtual void do_full_collection(bool clear_all_soft_refs);
111 void do_full_collection(bool clear_all_soft_refs, int max_level);
112
113 // Does the "cause" of GC indicate that
114 // we absolutely __must__ clear soft refs?
115 bool must_clear_all_soft_refs();
116
117 public:
118 GenCollectedHeap(GenCollectorPolicy *policy);
119
120 GCStats* gc_stats(int level) const;
121
122 // Returns JNI_OK on success
123 virtual jint initialize();
124 char* allocate(size_t alignment,
125 size_t* _total_reserved, int* _n_covered_regions,
126 ReservedSpace* heap_rs);
127
128 // Does operations required after initialization has been done.
129 void post_initialize();
130
131 // Initialize ("weak") refs processing support
132 virtual void ref_processing_init();
133
134 virtual CollectedHeap::Name kind() const {
135 return CollectedHeap::GenCollectedHeap;
136 }
137
138 // The generational collector policy.
139 GenCollectorPolicy* gen_policy() const { return _gen_policy; }
140 virtual CollectorPolicy* collector_policy() const { return (CollectorPolicy*) gen_policy(); }
141
142 // Adaptive size policy
143 virtual AdaptiveSizePolicy* size_policy() {
144 return gen_policy()->size_policy();
145 }
146
|
104 // allocation request that failed in the youngest generation that should
105 // have handled it (including collection, expansion, etc.)
106 HeapWord* satisfy_failed_allocation(size_t size, bool is_tlab);
107
108 // Callback from VM_GenCollectFull operation.
109 // Perform a full collection of the first max_level+1 generations.
110 virtual void do_full_collection(bool clear_all_soft_refs);
111 void do_full_collection(bool clear_all_soft_refs, int max_level);
112
113 // Does the "cause" of GC indicate that
114 // we absolutely __must__ clear soft refs?
115 bool must_clear_all_soft_refs();
116
117 public:
118 GenCollectedHeap(GenCollectorPolicy *policy);
119
120 GCStats* gc_stats(int level) const;
121
122 // Returns JNI_OK on success
123 virtual jint initialize();
124 char* allocate(size_t alignment, size_t* _total_reserved, ReservedSpace* heap_rs);
125
126 // Does operations required after initialization has been done.
127 void post_initialize();
128
129 // Initialize ("weak") refs processing support
130 virtual void ref_processing_init();
131
132 virtual CollectedHeap::Name kind() const {
133 return CollectedHeap::GenCollectedHeap;
134 }
135
136 // The generational collector policy.
137 GenCollectorPolicy* gen_policy() const { return _gen_policy; }
138 virtual CollectorPolicy* collector_policy() const { return (CollectorPolicy*) gen_policy(); }
139
140 // Adaptive size policy
141 virtual AdaptiveSizePolicy* size_policy() {
142 return gen_policy()->size_policy();
143 }
144
|