src/cpu/sparc/vm/methodHandles_sparc.cpp

changeset 1934
e9ff18c4ace7
parent 1907
c18cbe5936b8
parent 1919
61b2245abf36
child 2201
d55217dc206f
     1.1 --- a/src/cpu/sparc/vm/methodHandles_sparc.cpp	Tue Jun 01 11:48:33 2010 -0700
     1.2 +++ b/src/cpu/sparc/vm/methodHandles_sparc.cpp	Wed Jun 02 22:45:42 2010 -0700
     1.3 @@ -375,10 +375,10 @@
     1.4        Register O0_scratch = O0_argslot;
     1.5        int stackElementSize = Interpreter::stackElementSize;
     1.6  
     1.7 -      // Make space on the stack for the arguments.
     1.8 -      __ sub(SP,    4*stackElementSize, SP);
     1.9 -      __ sub(Gargs, 3*stackElementSize, Gargs);
    1.10 -      //__ sub(Lesp,  3*stackElementSize, Lesp);
    1.11 +      // Make space on the stack for the arguments and set Gargs
    1.12 +      // correctly.
    1.13 +      __ sub(SP, 4*stackElementSize, SP);  // Keep stack aligned.
    1.14 +      __ add(SP, (frame::varargs_offset)*wordSize - 1*Interpreter::stackElementSize + STACK_BIAS + BytesPerWord, Gargs);
    1.15  
    1.16        // void raiseException(int code, Object actual, Object required)
    1.17        __ st(    O1_scratch, Address(Gargs, 2*stackElementSize));  // code

mercurial