--- old/src/hotspot/cpu/sparc/macroAssembler_sparc.cpp 2018-02-12 20:05:00.619783554 -0800 +++ new/src/hotspot/cpu/sparc/macroAssembler_sparc.cpp 2018-02-12 20:05:00.363784541 -0800 @@ -3074,7 +3074,7 @@ bind(next); ld_ptr(G2_thread, in_bytes(JavaThread::tlab_top_offset()), t1); - ld_ptr(G2_thread, in_bytes(JavaThread::tlab_end_offset()), t2); + ld_ptr(G2_thread, in_bytes(JavaThread::tlab_current_end_offset()), t2); or3(t3, t2, t3); cmp_and_br_short(t1, t2, Assembler::lessEqual, Assembler::pn, next2); STOP("assert(top <= end)"); @@ -3196,7 +3196,7 @@ ld_ptr(G2_thread, in_bytes(JavaThread::tlab_top_offset()), obj); // calculate amount of free space - ld_ptr(G2_thread, in_bytes(JavaThread::tlab_end_offset()), free); + ld_ptr(G2_thread, in_bytes(JavaThread::tlab_current_end_offset()), free); sub(free, obj, free); Label done; @@ -3248,7 +3248,7 @@ } ld_ptr(G2_thread, in_bytes(JavaThread::tlab_top_offset()), top); - ld_ptr(G2_thread, in_bytes(JavaThread::tlab_end_offset()), t1); + ld_ptr(G2_thread, in_bytes(JavaThread::tlab_current_end_offset()), t1); ld_ptr(G2_thread, in_bytes(JavaThread::tlab_refill_waste_limit_offset()), t2); // calculate amount of free space @@ -3340,7 +3340,7 @@ #endif // ASSERT add(top, t1, top); // t1 is tlab_size sub(top, ThreadLocalAllocBuffer::alignment_reserve_in_bytes(), top); - st_ptr(top, G2_thread, in_bytes(JavaThread::tlab_end_offset())); + st_ptr(top, G2_thread, in_bytes(JavaThread::tlab_current_end_offset())); if (ZeroTLAB) { // This is a fast TLAB refill, therefore the GC is not notified of it.