--- old/src/cpu/x86/vm/macroAssembler_x86.cpp 2017-06-01 20:40:55.142618488 -0700 +++ new/src/cpu/x86/vm/macroAssembler_x86.cpp 2017-06-01 20:40:55.034618912 -0700 @@ -5600,6 +5600,10 @@ subptr(top, (int32_t)ThreadLocalAllocBuffer::alignment_reserve_in_bytes()); movptr(Address(thread_reg, in_bytes(JavaThread::tlab_end_offset())), top); + // Currently, if this happens, just set back the actual end to where it was. + // We miss a chance to sample here but it is a TODO. + movptr(Address(thread_reg, in_bytes(JavaThread::tlab_actual_end_offset())), top); + if (ZeroTLAB) { // This is a fast TLAB refill, therefore the GC is not notified of it. // So compiled code must fill the new TLAB with zeroes.