src/cpu/x86/vm/methodHandles_x86.cpp

changeset 3136
c565834fb592
parent 3105
c26de9aef2ed
child 3196
0abefdb54d21
     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  

mercurial