< prev index next >

src/hotspot/cpu/arm/macroAssembler_arm.cpp

Print this page
rev 48562 : [mq]: heap23

*** 1307,1317 **** RegisterOrConstant size_expression, Label& slow_case) { const Register tlab_end = tmp1; assert_different_registers(obj, obj_end, tlab_end); ldr(obj, Address(Rthread, JavaThread::tlab_top_offset())); ! ldr(tlab_end, Address(Rthread, JavaThread::tlab_end_offset())); add_rc(obj_end, obj, size_expression); cmp(obj_end, tlab_end); b(slow_case, hi); str(obj_end, Address(Rthread, JavaThread::tlab_top_offset())); } --- 1307,1317 ---- RegisterOrConstant size_expression, Label& slow_case) { const Register tlab_end = tmp1; assert_different_registers(obj, obj_end, tlab_end); ldr(obj, Address(Rthread, JavaThread::tlab_top_offset())); ! ldr(tlab_end, Address(Rthread, JavaThread::tlab_current_end_offset())); add_rc(obj_end, obj, size_expression); cmp(obj_end, tlab_end); b(slow_case, hi); str(obj_end, Address(Rthread, JavaThread::tlab_top_offset())); }
*** 1325,1335 **** } InlinedAddress intArrayKlass_addr((address)Universe::intArrayKlassObj_addr()); Label discard_tlab, do_refill; ldr(top, Address(Rthread, JavaThread::tlab_top_offset())); ! ldr(tmp1, Address(Rthread, JavaThread::tlab_end_offset())); ldr(tmp2, Address(Rthread, JavaThread::tlab_refill_waste_limit_offset())); // Calculate amount of free space sub(tmp1, tmp1, top); // Retain tlab and allocate in shared space --- 1325,1335 ---- } InlinedAddress intArrayKlass_addr((address)Universe::intArrayKlassObj_addr()); Label discard_tlab, do_refill; ldr(top, Address(Rthread, JavaThread::tlab_top_offset())); ! ldr(tmp1, Address(Rthread, JavaThread::tlab_current_end_offset())); ldr(tmp2, Address(Rthread, JavaThread::tlab_refill_waste_limit_offset())); // Calculate amount of free space sub(tmp1, tmp1, top); // Retain tlab and allocate in shared space
*** 1395,1405 **** cmp(tmp1, tmp2); breakpoint(ne); #endif sub(tmp1, tmp1, ThreadLocalAllocBuffer::alignment_reserve_in_bytes()); ! str(tmp1, Address(Rthread, JavaThread::tlab_end_offset())); if (ZeroTLAB) { // clobbers start and tmp // top must be preserved! add(tmp1, tmp1, ThreadLocalAllocBuffer::alignment_reserve_in_bytes()); --- 1395,1405 ---- cmp(tmp1, tmp2); breakpoint(ne); #endif sub(tmp1, tmp1, ThreadLocalAllocBuffer::alignment_reserve_in_bytes()); ! str(tmp1, Address(Rthread, JavaThread::tlab_current_end_offset())); if (ZeroTLAB) { // clobbers start and tmp // top must be preserved! add(tmp1, tmp1, ThreadLocalAllocBuffer::alignment_reserve_in_bytes());
< prev index next >