1.1 --- a/src/cpu/x86/vm/methodHandles_x86.cpp Fri Sep 09 13:47:11 2011 -0700 1.2 +++ b/src/cpu/x86/vm/methodHandles_x86.cpp Sat Sep 10 00:11:04 2011 -0700 1.3 @@ -624,6 +624,11 @@ 1.4 1.5 // error path for invokeExact (only) 1.6 __ bind(invoke_exact_error_path); 1.7 + // ensure that the top of stack is properly aligned. 1.8 + __ mov(rdi, rsp); 1.9 + __ andptr(rsp, -StackAlignmentInBytes); // Align the stack for the ABI 1.10 + __ pushptr(Address(rdi, 0)); // Pick up the return address 1.11 + 1.12 // Stub wants expected type in rax and the actual type in rcx 1.13 __ jump(ExternalAddress(StubRoutines::throw_WrongMethodTypeException_entry())); 1.14