339 do { \
340 assert(!Heap_lock->owned_by_self(), \
341 heap_locking_asserts_params("should not be holding the Heap_lock")); \
342 } while (0)
343
344 #define assert_heap_not_locked_and_not_at_safepoint() \
345 do { \
346 assert(!Heap_lock->owned_by_self() && \
347 !SafepointSynchronize::is_at_safepoint(), \
348 heap_locking_asserts_params("should not be holding the Heap_lock and " \
349 "should not be at a safepoint")); \
350 } while (0)
351
352 #define assert_at_safepoint_on_vm_thread() \
353 do { \
354 assert_at_safepoint(); \
355 assert(Thread::current_or_null() != NULL, "no current thread"); \
356 assert(Thread::current()->is_VM_thread(), "current thread is not VM thread"); \
357 } while (0)
358
359 const char* young_gc_name() const;
360
361 // The young region list.
362 G1EdenRegions _eden;
363 G1SurvivorRegions _survivor;
364
365 STWGCTimer* _gc_timer_stw;
366
367 G1NewTracer* _gc_tracer_stw;
368
369 // The current policy object for the collector.
370 G1Policy* _policy;
371 G1HeapSizingPolicy* _heap_sizing_policy;
372
373 G1CollectionSet _collection_set;
374
375 // Try to allocate a single non-humongous HeapRegion sufficient for
376 // an allocation of the given word_size. If do_expand is true,
377 // attempt to expand the heap if necessary to satisfy the allocation
378 // request. 'type' takes the type of region to be allocated. (Use constants
|
339 do { \
340 assert(!Heap_lock->owned_by_self(), \
341 heap_locking_asserts_params("should not be holding the Heap_lock")); \
342 } while (0)
343
344 #define assert_heap_not_locked_and_not_at_safepoint() \
345 do { \
346 assert(!Heap_lock->owned_by_self() && \
347 !SafepointSynchronize::is_at_safepoint(), \
348 heap_locking_asserts_params("should not be holding the Heap_lock and " \
349 "should not be at a safepoint")); \
350 } while (0)
351
352 #define assert_at_safepoint_on_vm_thread() \
353 do { \
354 assert_at_safepoint(); \
355 assert(Thread::current_or_null() != NULL, "no current thread"); \
356 assert(Thread::current()->is_VM_thread(), "current thread is not VM thread"); \
357 } while (0)
358
359 #define assert_used_and_recalculate_used(g1h) \
360 do { \
361 size_t cur_used_bytes = g1h->used(); \
362 size_t recal_used_bytes = g1h->recalculate_used(); \
363 assert(cur_used_bytes == recal_used_bytes, "Used(" SIZE_FORMAT ") is not" \
364 " same as recalculated used(" SIZE_FORMAT ").", \
365 cur_used_bytes, recal_used_bytes); \
366 } while (0)
367
368 const char* young_gc_name() const;
369
370 // The young region list.
371 G1EdenRegions _eden;
372 G1SurvivorRegions _survivor;
373
374 STWGCTimer* _gc_timer_stw;
375
376 G1NewTracer* _gc_tracer_stw;
377
378 // The current policy object for the collector.
379 G1Policy* _policy;
380 G1HeapSizingPolicy* _heap_sizing_policy;
381
382 G1CollectionSet _collection_set;
383
384 // Try to allocate a single non-humongous HeapRegion sufficient for
385 // an allocation of the given word_size. If do_expand is true,
386 // attempt to expand the heap if necessary to satisfy the allocation
387 // request. 'type' takes the type of region to be allocated. (Use constants
|