comparison src/cpu/sparc/vm/methodHandles_sparc.cpp @ 1506:2338d41fbd81

6943304: remove tagged stack interpreter Reviewed-by: coleenp, never, gbenson
author twisti
date Fri, 30 Apr 2010 08:37:24 -0700
parents c640000b7cc1
children cd5dbf694d45
comparison
equal deleted inserted replaced
1505:0c5b3cf3c1f5 1506:2338d41fbd81
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