diff a/src/hotspot/cpu/x86/stubGenerator_x86_32.cpp b/src/hotspot/cpu/x86/stubGenerator_x86_32.cpp --- a/src/hotspot/cpu/x86/stubGenerator_x86_32.cpp +++ b/src/hotspot/cpu/x86/stubGenerator_x86_32.cpp @@ -427,42 +427,10 @@ __ jmp(handler_addr); return start; } - - //---------------------------------------------------------------------------------------------------- - // Implementation of int32_t atomic_xchg(int32_t exchange_value, volatile int32_t* dest) - // used by Atomic::xchg(volatile int32_t* dest, int32_t exchange_value) - // - // xchg exists as far back as 8086, lock needed for MP only - // Stack layout immediately after call: - // - // 0 [ret addr ] <--- rsp - // 1 [ ex ] - // 2 [ dest ] - // - // Result: *dest <- ex, return (old *dest) - // - // Note: win32 does not currently use this code - - address generate_atomic_xchg() { - StubCodeMark mark(this, "StubRoutines", "atomic_xchg"); - address start = __ pc(); - - __ push(rdx); - Address exchange(rsp, 2 * wordSize); - Address dest_addr(rsp, 3 * wordSize); - __ movl(rax, exchange); - __ movptr(rdx, dest_addr); - __ xchgl(rax, Address(rdx, 0)); - __ pop(rdx); - __ ret(0); - - return start; - } - //---------------------------------------------------------------------------------------------------- // Support for void verify_mxcsr() // // This routine is used with -Xcheck:jni to verify that native // JNI code does not return to Java code without restoring the @@ -3795,13 +3763,10 @@ StubRoutines::_call_stub_entry = generate_call_stub(StubRoutines::_call_stub_return_address); // is referenced by megamorphic call StubRoutines::_catch_exception_entry = generate_catch_exception(); - // These are currently used by Solaris/Intel - StubRoutines::_atomic_xchg_entry = generate_atomic_xchg(); - // platform dependent create_control_words(); StubRoutines::x86::_verify_mxcsr_entry = generate_verify_mxcsr(); StubRoutines::x86::_verify_fpu_cntrl_wrd_entry = generate_verify_fpu_cntrl_wrd();