hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp
changeset 5419 f2e8cc8c12ea
parent 5416 5f6377fcfd3e
child 5420 586d3988e72b
equal deleted inserted replaced
5418:c4955cb6ed33 5419:f2e8cc8c12ea
   356 
   356 
   357       __ mov(O5_savedSP, SP);  // Cut the stack back to where the caller started.
   357       __ mov(O5_savedSP, SP);  // Cut the stack back to where the caller started.
   358 
   358 
   359       // Push arguments as if coming from the interpreter.
   359       // Push arguments as if coming from the interpreter.
   360       Register O0_scratch = O0_argslot;
   360       Register O0_scratch = O0_argslot;
   361       int stackElementSize = Interpreter::stackElementSize();
   361       int stackElementSize = Interpreter::stackElementSize;
   362 
   362 
   363       // Make space on the stack for the arguments.
   363       // Make space on the stack for the arguments.
   364       __ sub(SP,    4*stackElementSize, SP);
   364       __ sub(SP,    4*stackElementSize, SP);
   365       __ sub(Gargs, 3*stackElementSize, Gargs);
   365       __ sub(Gargs, 3*stackElementSize, Gargs);
   366       //__ sub(Lesp,  3*stackElementSize, Lesp);
   366       //__ sub(Lesp,  3*stackElementSize, Lesp);
   677       __ add(Gargs, __ argument_offset(O0_argslot, 1), O0_argslot);
   677       __ add(Gargs, __ argument_offset(O0_argslot, 1), O0_argslot);
   678 
   678 
   679       insert_arg_slots(_masm, stack_move_unit(), _INSERT_INT_MASK, O0_argslot, O1_scratch, O2_scratch, G5_index);
   679       insert_arg_slots(_masm, stack_move_unit(), _INSERT_INT_MASK, O0_argslot, O1_scratch, O2_scratch, G5_index);
   680 
   680 
   681       Address arg_lsw(O0_argslot, 0);
   681       Address arg_lsw(O0_argslot, 0);
   682       Address arg_msw(O0_argslot, -Interpreter::stackElementSize());
   682       Address arg_msw(O0_argslot, -Interpreter::stackElementSize);
   683 
   683 
   684       switch (ek) {
   684       switch (ek) {
   685       case _adapter_opt_i2l:
   685       case _adapter_opt_i2l:
   686         {
   686         {
   687           __ ldsw(arg_lsw, O2_scratch);      // Load LSW
   687           __ ldsw(arg_lsw, O2_scratch);      // Load LSW