--- old/src/cpu/x86/vm/stubGenerator_x86_64.cpp Thu Jun 3 10:31:45 2010 +++ new/src/cpu/x86/vm/stubGenerator_x86_64.cpp Thu Jun 3 10:31:45 2010 @@ -913,7 +913,8 @@ // [tos + 4]: return address // * [tos + 5]: error message (char*) // * [tos + 6]: object to verify (oop) - // * [tos + 7]: saved rax - saved by caller and bashed + // [tos + 7]: saved rax - saved by caller + // [tos + 8]: saved r10 (rscratch1) - saved by caller // * = popped on exit address generate_verify_oop() { StubCodeMark mark(this, "StubRoutines", "verify_oop"); @@ -987,7 +988,7 @@ __ pop(c_rarg2); // restore c_rarg2 __ pop(r12); // restore r12 __ popf(); // restore flags - __ ret(3 * wordSize); // pop caller saved stuff + __ ret(2 * wordSize); // pop caller saved stuff // handle errors __ bind(error); @@ -1008,7 +1009,8 @@ // [tos + 16] return address // * [tos + 17] error message (char*) // * [tos + 18] object to verify (oop) - // * [tos + 19] saved rax - saved by caller and bashed + // [tos + 19] saved rax - saved by caller + // [tos + 20] saved r10 (rscratch1) - saved by caller // * = popped on exit __ movptr(c_rarg0, Address(rsp, error_msg)); // pass address of error message @@ -1021,7 +1023,7 @@ __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, MacroAssembler::debug64))); __ mov(rsp, r12); // restore rsp __ popa(); // pop registers (includes r12) - __ ret(3 * wordSize); // pop caller saved stuff + __ ret(2 * wordSize); // pop caller saved stuff return start; }