273 // this method will be found dead by the marking cycle).
274 void allocate_dummy_regions() PRODUCT_RETURN;
275
276 // Clear RSets after a compaction. It also resets the GC time stamps.
277 void clear_rsets_post_compaction();
278
279 // If the HR printer is active, dump the state of the regions in the
280 // heap after a compaction.
281 void print_hrm_post_compaction();
282
283 // Create a memory mapper for auxiliary data structures of the given size and
284 // translation factor.
285 static G1RegionToSpaceMapper* create_aux_memory_mapper(const char* description,
286 size_t size,
287 size_t translation_factor);
288
289 double verify(bool guard, const char* msg);
290 void verify_before_gc();
291 void verify_after_gc();
292
293 void log_gc_footer(double pause_time_counter);
294
295 void trace_heap(GCWhen::Type when, const GCTracer* tracer);
296
297 void process_weak_jni_handles();
298
299 // These are macros so that, if the assert fires, we get the correct
300 // line number, file, etc.
301
302 #define heap_locking_asserts_params(_extra_message_) \
303 "%s : Heap_lock locked: %s, at safepoint: %s, is VM thread: %s", \
304 (_extra_message_), \
305 BOOL_TO_STR(Heap_lock->owned_by_self()), \
306 BOOL_TO_STR(SafepointSynchronize::is_at_safepoint()), \
307 BOOL_TO_STR(Thread::current()->is_VM_thread())
308
309 #define assert_heap_locked() \
310 do { \
311 assert(Heap_lock->owned_by_self(), \
312 heap_locking_asserts_params("should be holding the Heap_lock")); \
313 } while (0)
|
273 // this method will be found dead by the marking cycle).
274 void allocate_dummy_regions() PRODUCT_RETURN;
275
276 // Clear RSets after a compaction. It also resets the GC time stamps.
277 void clear_rsets_post_compaction();
278
279 // If the HR printer is active, dump the state of the regions in the
280 // heap after a compaction.
281 void print_hrm_post_compaction();
282
283 // Create a memory mapper for auxiliary data structures of the given size and
284 // translation factor.
285 static G1RegionToSpaceMapper* create_aux_memory_mapper(const char* description,
286 size_t size,
287 size_t translation_factor);
288
289 double verify(bool guard, const char* msg);
290 void verify_before_gc();
291 void verify_after_gc();
292
293 void log_gc_footer(jlong pause_time_counter);
294
295 void trace_heap(GCWhen::Type when, const GCTracer* tracer);
296
297 void process_weak_jni_handles();
298
299 // These are macros so that, if the assert fires, we get the correct
300 // line number, file, etc.
301
302 #define heap_locking_asserts_params(_extra_message_) \
303 "%s : Heap_lock locked: %s, at safepoint: %s, is VM thread: %s", \
304 (_extra_message_), \
305 BOOL_TO_STR(Heap_lock->owned_by_self()), \
306 BOOL_TO_STR(SafepointSynchronize::is_at_safepoint()), \
307 BOOL_TO_STR(Thread::current()->is_VM_thread())
308
309 #define assert_heap_locked() \
310 do { \
311 assert(Heap_lock->owned_by_self(), \
312 heap_locking_asserts_params("should be holding the Heap_lock")); \
313 } while (0)
|