155 // Verify object start arrays
156 if (VerifyObjectStartArray &&
157 VerifyBeforeGC) {
158 old_gen->verify_object_start_array();
159 }
160
161 // Filled in below to track the state of the young gen after the collection.
162 bool eden_empty;
163 bool survivors_empty;
164 bool young_gen_empty;
165
166 {
167 HandleMark hm;
168
169 GCTraceCPUTime tcpu;
170 GCTraceTime(Info, gc) t("Pause Full", NULL, gc_cause, true);
171
172 heap->pre_full_gc_dump(_gc_timer);
173
174 TraceCollectorStats tcs(counters());
175 TraceMemoryManagerStats tms(true /* Full GC */,gc_cause);
176
177 if (log_is_enabled(Debug, gc, heap, exit)) {
178 accumulated_time()->start();
179 }
180
181 // Let the size policy know we're starting
182 size_policy->major_collection_begin();
183
184 CodeCache::gc_prologue();
185 BiasedLocking::preserve_marks();
186
187 // Capture metadata size before collection for sizing.
188 size_t metadata_prev_used = MetaspaceAux::used_bytes();
189
190 size_t old_gen_prev_used = old_gen->used_in_bytes();
191 size_t young_gen_prev_used = young_gen->used_in_bytes();
192
193 allocate_stacks();
194
195 #if COMPILER2_OR_JVMCI
|
155 // Verify object start arrays
156 if (VerifyObjectStartArray &&
157 VerifyBeforeGC) {
158 old_gen->verify_object_start_array();
159 }
160
161 // Filled in below to track the state of the young gen after the collection.
162 bool eden_empty;
163 bool survivors_empty;
164 bool young_gen_empty;
165
166 {
167 HandleMark hm;
168
169 GCTraceCPUTime tcpu;
170 GCTraceTime(Info, gc) t("Pause Full", NULL, gc_cause, true);
171
172 heap->pre_full_gc_dump(_gc_timer);
173
174 TraceCollectorStats tcs(counters());
175 TraceMemoryManagerStats tms(heap->old_gc_manager(),gc_cause);
176
177 if (log_is_enabled(Debug, gc, heap, exit)) {
178 accumulated_time()->start();
179 }
180
181 // Let the size policy know we're starting
182 size_policy->major_collection_begin();
183
184 CodeCache::gc_prologue();
185 BiasedLocking::preserve_marks();
186
187 // Capture metadata size before collection for sizing.
188 size_t metadata_prev_used = MetaspaceAux::used_bytes();
189
190 size_t old_gen_prev_used = old_gen->used_in_bytes();
191 size_t young_gen_prev_used = young_gen->used_in_bytes();
192
193 allocate_stacks();
194
195 #if COMPILER2_OR_JVMCI
|