equal
deleted
inserted
replaced
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 |