Commit 01ccd0f6 authored by palfia@homejinni.com's avatar palfia@homejinni.com

MIPS: Deoptimizer support for hydrogen stubs that accept a variable number of arguments.

Port r14111 (29157ad7)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent db9cc639
......@@ -96,7 +96,7 @@ static void InitializeArrayConstructorDescriptor(Isolate* isolate,
// stack param count needs (constructor pointer, and single argument)
descriptor->stack_parameter_count_ = &a0;
descriptor->register_params_ = registers;
descriptor->extra_expression_stack_count_ = 1;
descriptor->function_mode_ = JS_FUNCTION_STUB_MODE;
descriptor->deoptimization_handler_ =
FUNCTION_ADDR(ArrayConstructor_StubFailure);
}
......@@ -8087,6 +8087,9 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
int parameter_count_offset =
StubFailureTrampolineFrame::kCallerStackParameterCountFrameOffset;
__ lw(a1, MemOperand(fp, parameter_count_offset));
if (function_mode_ == JS_FUNCTION_STUB_MODE) {
__ Addu(a1, a1, Operand(1));
}
masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE);
__ sll(a1, a1, kPointerSizeLog2);
__ Addu(sp, sp, a1);
......
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