< prev index next >

src/cpu/x86/vm/templateTable_x86.cpp

Print this page
rev 13551 : imported patch gcinterface-aarch64-5.patch

*** 997,1015 **** __ bind(ok_is_subtype); // Get the value we will store __ movptr(rax, at_tos()); // Now store using the appropriate barrier ! do_oop_store(_masm, Address(rdx, 0), rax, ACCESS_IN_HEAP); __ jmp(done); // Have a NULL in rax, rdx=array, ecx=index. Store NULL at ary[idx] __ bind(is_null); __ profile_null_seen(rbx); // Store a NULL ! do_oop_store(_masm, element_address, noreg, ACCESS_IN_HEAP); // Pop stack arguments __ bind(done); __ addptr(rsp, 3 * Interpreter::stackElementSize); } --- 997,1015 ---- __ bind(ok_is_subtype); // Get the value we will store __ movptr(rax, at_tos()); // Now store using the appropriate barrier ! do_oop_store(_masm, Address(rdx, 0), rax, ACCESS_IN_HEAP | ACCESS_IN_HEAP_ARRAY); __ jmp(done); // Have a NULL in rax, rdx=array, ecx=index. Store NULL at ary[idx] __ bind(is_null); __ profile_null_seen(rbx); // Store a NULL ! do_oop_store(_masm, element_address, noreg, ACCESS_IN_HEAP | ACCESS_IN_HEAP_ARRAY); // Pop stack arguments __ bind(done); __ addptr(rsp, 3 * Interpreter::stackElementSize); }
*** 3015,3025 **** // atos { __ pop(atos); if (!is_static) pop_and_check_object(obj); // Store into the field ! do_oop_store(_masm, field, rax, ACCESS_IN_HEAP | ACCESS_IN_HEAP_ARRAY); if (!is_static && rc == may_rewrite) { patch_bytecode(Bytecodes::_fast_aputfield, bc, rbx, true, byte_no); } __ jmp(Done); } --- 3015,3025 ---- // atos { __ pop(atos); if (!is_static) pop_and_check_object(obj); // Store into the field ! do_oop_store(_masm, field, rax, ACCESS_IN_HEAP); if (!is_static && rc == may_rewrite) { patch_bytecode(Bytecodes::_fast_aputfield, bc, rbx, true, byte_no); } __ jmp(Done); }
*** 3268,3278 **** const Address field(rcx, rbx, Address::times_1); // access field switch (bytecode()) { case Bytecodes::_fast_aputfield: ! do_oop_store(_masm, field, rax, ACCESS_IN_HEAP | ACCESS_IN_HEAP_ARRAY); break; case Bytecodes::_fast_lputfield: #ifdef _LP64 __ movq(field, rax); #else --- 3268,3278 ---- const Address field(rcx, rbx, Address::times_1); // access field switch (bytecode()) { case Bytecodes::_fast_aputfield: ! do_oop_store(_masm, field, rax, ACCESS_IN_HEAP); break; case Bytecodes::_fast_lputfield: #ifdef _LP64 __ movq(field, rax); #else
< prev index next >