Java JFR 民间指南 - 事件详解 - jdk.ThreadAllocationStatistics (6)

memAllocator.cpp

//如果是 TLAB 外分配,会调用这个方法 HeapWord* MemAllocator::allocate_outside_tlab(Allocation& allocation) const { //标记当前分配为 TLAB 外分配 allocation._allocated_outside_tlab = true; //执行 TLAB 外分配,不同 GC 不同 HeapWord* mem = Universe::heap()->mem_allocate(_word_size, &allocation._overhead_limit_exceeded); if (mem == NULL) { return mem; } NOT_PRODUCT(Universe::heap()->check_for_non_bad_heap_word_value(mem, _word_size)); //计算当前分配的字节大小 size_t size_in_bytes = _word_size * HeapWordSize; //增加 _allocated_bytes 当前分配的字节大小 _thread->incr_allocated_bytes(size_in_bytes); return mem; }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydpxz.html