--- old/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp 2018-02-12 20:04:54.491807156 -0800 +++ new/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp 2018-02-12 20:04:54.239808126 -0800 @@ -4076,7 +4076,7 @@ } else { lea(end, Address(obj, var_size_in_bytes)); } - ldr(rscratch1, Address(rthread, JavaThread::tlab_end_offset())); + ldr(rscratch1, Address(rthread, JavaThread::tlab_current_end_offset())); cmp(end, rscratch1); br(Assembler::HI, slow_case); @@ -4106,7 +4106,7 @@ } ldr(top, Address(rthread, in_bytes(JavaThread::tlab_top_offset()))); - ldr(t1, Address(rthread, in_bytes(JavaThread::tlab_end_offset()))); + ldr(t1, Address(rthread, in_bytes(JavaThread::tlab_current_end_offset()))); // calculate amount of free space sub(t1, t1, top); @@ -4200,7 +4200,7 @@ str(top, Address(rthread, in_bytes(JavaThread::tlab_top_offset()))); add(top, top, t1); sub(top, top, (int32_t)ThreadLocalAllocBuffer::alignment_reserve_in_bytes()); - str(top, Address(rthread, in_bytes(JavaThread::tlab_end_offset()))); + str(top, Address(rthread, in_bytes(JavaThread::tlab_current_end_offset()))); if (ZeroTLAB) { // This is a fast TLAB refill, therefore the GC is not notified of it. @@ -4347,7 +4347,7 @@ should_not_reach_here(); bind(next); - ldr(rscratch2, Address(rthread, in_bytes(JavaThread::tlab_end_offset()))); + ldr(rscratch2, Address(rthread, in_bytes(JavaThread::tlab_current_end_offset()))); ldr(rscratch1, Address(rthread, in_bytes(JavaThread::tlab_top_offset()))); cmp(rscratch2, rscratch1); br(Assembler::HS, ok);