src/cpu/x86/vm/sharedRuntime_x86_64.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/cpu/x86/vm/sharedRuntime_x86_64.cpp	Mon Mar 17 11:39:17 2014
--- new/src/cpu/x86/vm/sharedRuntime_x86_64.cpp	Mon Mar 17 11:39:17 2014

*** 2010,2019 **** --- 2010,2023 ---- __ subptr(rsp, stack_size - 2*wordSize); // Frame is now completed as far as size and linkage. int frame_complete = ((intptr_t)__ pc()) - start; + if (UseRTMLocking) { + __ xabort(0); + } + #ifdef ASSERT { Label L; __ mov(rax, rsp); __ andptr(rax, -16); // must be 16 byte boundary (see amd64 ABI)
*** 3610,3619 **** --- 3614,3627 ---- assert(SimpleRuntimeFrame::framesize % 4 == 0, "sp not 16-byte aligned"); address start = __ pc(); + if (UseRTMLocking) { + __ xabort(0); + } + // Push self-frame. We get here with a return address on the // stack, so rsp is 8-byte aligned until we allocate our frame. __ subptr(rsp, SimpleRuntimeFrame::return_off << LogBytesPerInt); // Epilog! // No callee saved registers. rbp is assumed implicitly saved
*** 3790,3799 **** --- 3798,3811 ---- address call_pc = NULL; int frame_size_in_words; bool cause_return = (poll_type == POLL_AT_RETURN); bool save_vectors = (poll_type == POLL_AT_VECTOR_LOOP); + if (UseRTMLocking) { + __ xabort(0); + } + // Make room for return address (or push it again) if (!cause_return) { __ push(rbx); }

src/cpu/x86/vm/sharedRuntime_x86_64.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File