inline HeapWord* G1CollectedHeap::attempt_allocation(size_t word_size, unsigned int* gc_count_before_ret) { assert_heap_not_locked_and_not_at_safepoint(); assert(!isHumongous(word_size), "attempt_allocation() should not " "be called for humongous allocation requests"); HeapWord* result = _mutator_alloc_region.attempt_allocation(word_size, false /* bot_updates */); if (result == NULL) { result = attempt_allocation_slow(word_size, gc_count_before_ret); } assert_heap_not_locked(); if (result != NULL) { dirty_young_block(result, word_size); } return result; }
inline HeapWord* G1CollectedHeap::attempt_allocation(size_t word_size, uint* gc_count_before_ret, uint* gclocker_retry_count_ret) { assert_heap_not_locked_and_not_at_safepoint(); assert(!is_humongous(word_size), "attempt_allocation() should not " "be called for humongous allocation requests"); AllocationContext_t context = AllocationContext::current(); HeapWord* result = _allocator->mutator_alloc_region(context)->attempt_allocation(word_size, false /* bot_updates */); if (result == NULL) { result = attempt_allocation_slow(word_size, context, gc_count_before_ret, gclocker_retry_count_ret); } assert_heap_not_locked(); if (result != NULL) { dirty_young_block(result, word_size); } return result; }