--- old/src/cpu/x86/vm/sharedRuntime_x86_64.cpp 2014-03-17 11:39:17.000000000 -0700 +++ new/src/cpu/x86/vm/sharedRuntime_x86_64.cpp 2014-03-17 11:39:17.000000000 -0700 @@ -2012,6 +2012,10 @@ // 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; @@ -3611,6 +3615,10 @@ 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. @@ -3792,6 +3800,10 @@ 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);