Commit d5e6ab9e authored by dusan.m.milosavljevic's avatar dusan.m.milosavljevic Committed by Commit bot

MIPS64: Fix Add CallRuntime support to the interpreter.

TEST=cctest/test-interpreter/InterpreterCall,
     cctest/test-bytecode-generator/CallRuntime
BUG=v8:4280
LOG=N

Review URL: https://codereview.chromium.org/1390533002

Cr-Commit-Position: refs/heads/master@{#31106}
parent d068574e
...@@ -970,16 +970,16 @@ void Builtins::Generate_InterpreterPushArgsAndCall(MacroAssembler* masm) { ...@@ -970,16 +970,16 @@ void Builtins::Generate_InterpreterPushArgsAndCall(MacroAssembler* masm) {
// -- a1 : the target to call (can be any Object). // -- a1 : the target to call (can be any Object).
// Find the address of the last argument. // Find the address of the last argument.
__ Addu(a3, a0, Operand(1)); // Add one for receiver. __ Daddu(a3, a0, Operand(1)); // Add one for receiver.
__ sll(a3, a3, kPointerSizeLog2); __ dsll(a3, a3, kPointerSizeLog2);
__ Subu(a3, a2, Operand(a3)); __ Dsubu(a3, a2, Operand(a3));
// Push the arguments. // Push the arguments.
Label loop_header, loop_check; Label loop_header, loop_check;
__ Branch(&loop_check); __ Branch(&loop_check);
__ bind(&loop_header); __ bind(&loop_header);
__ lw(t0, MemOperand(a2)); __ ld(t0, MemOperand(a2));
__ Addu(a2, a2, Operand(-kPointerSize)); __ Daddu(a2, a2, Operand(-kPointerSize));
__ push(t0); __ push(t0);
__ bind(&loop_check); __ bind(&loop_check);
__ Branch(&loop_header, gt, a2, Operand(a3)); __ Branch(&loop_header, gt, a2, Operand(a3));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment