Mercurial > hg > graal-compiler
comparison src/cpu/sparc/vm/methodHandles_sparc.cpp @ 1579:e9ff18c4ace7
Merge
author | jrose |
---|---|
date | Wed, 02 Jun 2010 22:45:42 -0700 |
parents | c18cbe5936b8 61b2245abf36 |
children | d55217dc206f |
comparison
equal
deleted
inserted
replaced
1562:dfe27f03244a | 1579:e9ff18c4ace7 |
---|---|
373 | 373 |
374 // Push arguments as if coming from the interpreter. | 374 // Push arguments as if coming from the interpreter. |
375 Register O0_scratch = O0_argslot; | 375 Register O0_scratch = O0_argslot; |
376 int stackElementSize = Interpreter::stackElementSize; | 376 int stackElementSize = Interpreter::stackElementSize; |
377 | 377 |
378 // Make space on the stack for the arguments. | 378 // Make space on the stack for the arguments and set Gargs |
379 __ sub(SP, 4*stackElementSize, SP); | 379 // correctly. |
380 __ sub(Gargs, 3*stackElementSize, Gargs); | 380 __ sub(SP, 4*stackElementSize, SP); // Keep stack aligned. |
381 //__ sub(Lesp, 3*stackElementSize, Lesp); | 381 __ add(SP, (frame::varargs_offset)*wordSize - 1*Interpreter::stackElementSize + STACK_BIAS + BytesPerWord, Gargs); |
382 | 382 |
383 // void raiseException(int code, Object actual, Object required) | 383 // void raiseException(int code, Object actual, Object required) |
384 __ st( O1_scratch, Address(Gargs, 2*stackElementSize)); // code | 384 __ st( O1_scratch, Address(Gargs, 2*stackElementSize)); // code |
385 __ st_ptr(O2_scratch, Address(Gargs, 1*stackElementSize)); // actual | 385 __ st_ptr(O2_scratch, Address(Gargs, 1*stackElementSize)); // actual |
386 __ st_ptr(O3_scratch, Address(Gargs, 0*stackElementSize)); // required | 386 __ st_ptr(O3_scratch, Address(Gargs, 0*stackElementSize)); // required |