< prev index next >

src/hotspot/cpu/x86/stubGenerator_x86_64.cpp

Print this page

        

*** 564,583 **** __ ret(0); return start; } ! // Support for intptr_t atomic::xchg_ptr(intptr_t exchange_value, volatile intptr_t* dest) // // Arguments : // c_rarg0: exchange_value // c_rarg1: dest // // Result: // *dest <- ex, return (orig *dest) ! address generate_atomic_xchg_ptr() { ! StubCodeMark mark(this, "StubRoutines", "atomic_xchg_ptr"); address start = __ pc(); __ movptr(rax, c_rarg0); // Copy to eax we need a return value anyhow __ xchgptr(rax, Address(c_rarg1, 0)); // automatic LOCK __ ret(0); --- 564,583 ---- __ ret(0); return start; } ! // Support for intptr_t atomic::xchg_long(jlong exchange_value, volatile jlong* dest) // // Arguments : // c_rarg0: exchange_value // c_rarg1: dest // // Result: // *dest <- ex, return (orig *dest) ! address generate_atomic_xchg_long() { ! StubCodeMark mark(this, "StubRoutines", "atomic_xchg_long"); address start = __ pc(); __ movptr(rax, c_rarg0); // Copy to eax we need a return value anyhow __ xchgptr(rax, Address(c_rarg1, 0)); // automatic LOCK __ ret(0);
*** 4996,5006 **** // is referenced by megamorphic call StubRoutines::_catch_exception_entry = generate_catch_exception(); // atomic calls StubRoutines::_atomic_xchg_entry = generate_atomic_xchg(); ! StubRoutines::_atomic_xchg_ptr_entry = generate_atomic_xchg_ptr(); StubRoutines::_atomic_cmpxchg_entry = generate_atomic_cmpxchg(); StubRoutines::_atomic_cmpxchg_byte_entry = generate_atomic_cmpxchg_byte(); StubRoutines::_atomic_cmpxchg_long_entry = generate_atomic_cmpxchg_long(); StubRoutines::_atomic_add_entry = generate_atomic_add(); StubRoutines::_atomic_add_ptr_entry = generate_atomic_add_ptr(); --- 4996,5006 ---- // is referenced by megamorphic call StubRoutines::_catch_exception_entry = generate_catch_exception(); // atomic calls StubRoutines::_atomic_xchg_entry = generate_atomic_xchg(); ! StubRoutines::_atomic_xchg_long_entry = generate_atomic_xchg_long(); StubRoutines::_atomic_cmpxchg_entry = generate_atomic_cmpxchg(); StubRoutines::_atomic_cmpxchg_byte_entry = generate_atomic_cmpxchg_byte(); StubRoutines::_atomic_cmpxchg_long_entry = generate_atomic_cmpxchg_long(); StubRoutines::_atomic_add_entry = generate_atomic_add(); StubRoutines::_atomic_add_ptr_entry = generate_atomic_add_ptr();
< prev index next >