--- old/src/hotspot/share/gc/shared/memAllocator.cpp 2019-08-01 16:00:37.595765081 +0200 +++ new/src/hotspot/share/gc/shared/memAllocator.cpp 2019-08-01 16:00:37.330756414 +0200 @@ -229,10 +229,10 @@ size_t size_in_bytes = _allocator._word_size * HeapWordSize; if (_allocated_outside_tlab) { - AllocTracer::send_allocation_outside_tlab(_allocator._klass, mem, size_in_bytes, _thread); + AllocTracer::send_allocation_outside_tlab(obj()->klass(), mem, size_in_bytes, _thread); } else if (_allocated_tlab_size != 0) { // TLAB was refilled - AllocTracer::send_allocation_in_new_tlab(_allocator._klass, mem, _allocated_tlab_size * HeapWordSize, + AllocTracer::send_allocation_in_new_tlab(obj()->klass(), mem, _allocated_tlab_size * HeapWordSize, size_in_bytes, _thread); } } @@ -240,7 +240,7 @@ void MemAllocator::Allocation::notify_allocation_dtrace_sampler() { if (DTraceAllocProbes) { // support for Dtrace object alloc event (no-op most of the time) - Klass* klass = _allocator._klass; + Klass* klass = obj()->klass(); size_t word_size = _allocator._word_size; if (klass != NULL && klass->name() != NULL) { SharedRuntime::dtrace_object_alloc(obj(), (int)word_size);