< prev index next >

src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp

Print this page
rev 50637 : [mq]: JDK-8205336.patch
rev 50638 : [mq]: JDK-8205336-01.patch

*** 156,166 **** } // verify_tlab(); } // Defines obj, preserves var_size_in_bytes ! void BarrierSetAssembler::eden_allocate(MacroAssembler* masm,Register thread, Register obj, Register var_size_in_bytes, int con_size_in_bytes, Register t1, Label& slow_case) { assert_different_registers(obj, var_size_in_bytes, t1); --- 156,166 ---- } // verify_tlab(); } // Defines obj, preserves var_size_in_bytes ! void BarrierSetAssembler::eden_allocate(MacroAssembler* masm, Register obj, Register var_size_in_bytes, int con_size_in_bytes, Register t1, Label& slow_case) { assert_different_registers(obj, var_size_in_bytes, t1);
*** 208,234 **** // If heap_top hasn't been changed by some other thread, update it. __ stlxr(rscratch2, end, rscratch1); __ cbnzw(rscratch2, retry); ! incr_allocated_bytes(masm, thread, var_size_in_bytes, con_size_in_bytes, t1); } } ! void BarrierSetAssembler::incr_allocated_bytes(MacroAssembler* masm, Register thread, Register var_size_in_bytes, int con_size_in_bytes, Register t1) { - if (!thread->is_valid()) { - thread = rthread; - } assert(t1->is_valid(), "need temp reg"); ! __ ldr(t1, Address(thread, in_bytes(JavaThread::allocated_bytes_offset()))); if (var_size_in_bytes->is_valid()) { __ add(t1, t1, var_size_in_bytes); } else { __ add(t1, t1, con_size_in_bytes); } ! __ str(t1, Address(thread, in_bytes(JavaThread::allocated_bytes_offset()))); } --- 208,231 ---- // If heap_top hasn't been changed by some other thread, update it. __ stlxr(rscratch2, end, rscratch1); __ cbnzw(rscratch2, retry); ! incr_allocated_bytes(masm, var_size_in_bytes, con_size_in_bytes, t1); } } ! void BarrierSetAssembler::incr_allocated_bytes(MacroAssembler* masm, Register var_size_in_bytes, int con_size_in_bytes, Register t1) { assert(t1->is_valid(), "need temp reg"); ! __ ldr(t1, Address(rthread, in_bytes(JavaThread::allocated_bytes_offset()))); if (var_size_in_bytes->is_valid()) { __ add(t1, t1, var_size_in_bytes); } else { __ add(t1, t1, con_size_in_bytes); } ! __ str(t1, Address(rthread, in_bytes(JavaThread::allocated_bytes_offset()))); }
< prev index next >