< prev index next >

src/cpu/x86/vm/templateInterpreter_x86_64.cpp

Print this page

        

*** 543,552 **** --- 543,553 ---- __ bind(L); } #endif // ASSERT __ bind(done); + oopDesc::bs()->interpreter_write_barrier(_masm, rax); } // add space for monitor & lock __ subptr(rsp, entry_size); // add space for a monitor entry __ movptr(monitor_block_top, rsp); // set new monitor block top
*** 635,655 **** address entry = __ pc(); const int referent_offset = java_lang_ref_Reference::referent_offset; guarantee(referent_offset > 0, "referent offset not initialized"); ! if (UseG1GC) { Label slow_path; // rbx: method // Check if local 0 != NULL // If the receiver is null then it is OK to jump to the slow path. __ movptr(rax, Address(rsp, wordSize)); __ testptr(rax, rax); __ jcc(Assembler::zero, slow_path); // rax: local 0 // rbx: method (but can be used as scratch now) // rdx: scratch // rdi: scratch --- 636,658 ---- address entry = __ pc(); const int referent_offset = java_lang_ref_Reference::referent_offset; guarantee(referent_offset > 0, "referent offset not initialized"); ! if (UseG1GC || UseShenandoahGC) { Label slow_path; // rbx: method // Check if local 0 != NULL // If the receiver is null then it is OK to jump to the slow path. __ movptr(rax, Address(rsp, wordSize)); __ testptr(rax, rax); __ jcc(Assembler::zero, slow_path); + oopDesc::bs()->interpreter_read_barrier_not_null(_masm, rax); + // rax: local 0 // rbx: method (but can be used as scratch now) // rdx: scratch // rdi: scratch
*** 776,785 **** --- 779,789 ---- __ movl2ptr(off, Address(rsp, 2*wordSize)); // offset __ addq(buf, off); // + offset __ movl(crc, Address(rsp, 5*wordSize)); // Initial CRC } else { __ movptr(buf, Address(rsp, 3*wordSize)); // byte[] array + oopDesc::bs()->interpreter_read_barrier_not_null(_masm, buf); __ addptr(buf, arrayOopDesc::base_offset_in_bytes(T_BYTE)); // + header size __ movl2ptr(off, Address(rsp, 2*wordSize)); // offset __ addq(buf, off); // + offset __ movl(crc, Address(rsp, 4*wordSize)); // Initial CRC }
< prev index next >