244 void InterpreterMacroAssembler::pop_f(FloatRegister f) {
245 lfsu(f, Interpreter::stackElementSize, R15_esp);
246 }
247
248 void InterpreterMacroAssembler::pop_d(FloatRegister f) {
249 lfd(f, Interpreter::stackElementSize, R15_esp);
250 addi(R15_esp, R15_esp, 2 * Interpreter::stackElementSize);
251 }
252
253 void InterpreterMacroAssembler::push_i(Register r) {
254 stw(r, 0, R15_esp);
255 addi(R15_esp, R15_esp, - Interpreter::stackElementSize );
256 }
257
258 void InterpreterMacroAssembler::push_ptr(Register r) {
259 std(r, 0, R15_esp);
260 addi(R15_esp, R15_esp, - Interpreter::stackElementSize );
261 }
262
263 void InterpreterMacroAssembler::push_l(Register r) {
264 std(r, - Interpreter::stackElementSize, R15_esp);
265 addi(R15_esp, R15_esp, - 2 * Interpreter::stackElementSize );
266 }
267
268 void InterpreterMacroAssembler::push_f(FloatRegister f) {
269 stfs(f, 0, R15_esp);
270 addi(R15_esp, R15_esp, - Interpreter::stackElementSize );
271 }
272
273 void InterpreterMacroAssembler::push_d(FloatRegister f) {
274 stfd(f, - Interpreter::stackElementSize, R15_esp);
275 addi(R15_esp, R15_esp, - 2 * Interpreter::stackElementSize );
276 }
277
278 void InterpreterMacroAssembler::push_2ptrs(Register first, Register second) {
279 std(first, 0, R15_esp);
280 std(second, -Interpreter::stackElementSize, R15_esp);
281 addi(R15_esp, R15_esp, - 2 * Interpreter::stackElementSize );
282 }
283
|
244 void InterpreterMacroAssembler::pop_f(FloatRegister f) {
245 lfsu(f, Interpreter::stackElementSize, R15_esp);
246 }
247
248 void InterpreterMacroAssembler::pop_d(FloatRegister f) {
249 lfd(f, Interpreter::stackElementSize, R15_esp);
250 addi(R15_esp, R15_esp, 2 * Interpreter::stackElementSize);
251 }
252
253 void InterpreterMacroAssembler::push_i(Register r) {
254 stw(r, 0, R15_esp);
255 addi(R15_esp, R15_esp, - Interpreter::stackElementSize );
256 }
257
258 void InterpreterMacroAssembler::push_ptr(Register r) {
259 std(r, 0, R15_esp);
260 addi(R15_esp, R15_esp, - Interpreter::stackElementSize );
261 }
262
263 void InterpreterMacroAssembler::push_l(Register r) {
264 // Clear unused slot.
265 load_const_optimized(R0, 0L);
266 std(R0, 0, R15_esp);
267 std(r, - Interpreter::stackElementSize, R15_esp);
268 addi(R15_esp, R15_esp, - 2 * Interpreter::stackElementSize );
269 }
270
271 void InterpreterMacroAssembler::push_f(FloatRegister f) {
272 stfs(f, 0, R15_esp);
273 addi(R15_esp, R15_esp, - Interpreter::stackElementSize );
274 }
275
276 void InterpreterMacroAssembler::push_d(FloatRegister f) {
277 stfd(f, - Interpreter::stackElementSize, R15_esp);
278 addi(R15_esp, R15_esp, - 2 * Interpreter::stackElementSize );
279 }
280
281 void InterpreterMacroAssembler::push_2ptrs(Register first, Register second) {
282 std(first, 0, R15_esp);
283 std(second, -Interpreter::stackElementSize, R15_esp);
284 addi(R15_esp, R15_esp, - 2 * Interpreter::stackElementSize );
285 }
286
|