MIPS: Minor-key-ify CallICStub and CallIC_ArrayStub.
Port r23403 (553b376) BUG= R=paul.lind@imgtec.com Review URL: https://codereview.chromium.org/503373002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
597a49ae51
commit
6d08761317
@ -3141,7 +3141,7 @@ void CallICStub::Generate(MacroAssembler* masm) {
|
|||||||
Label extra_checks_or_miss, slow_start;
|
Label extra_checks_or_miss, slow_start;
|
||||||
Label slow, non_function, wrap, cont;
|
Label slow, non_function, wrap, cont;
|
||||||
Label have_js_function;
|
Label have_js_function;
|
||||||
int argc = state_.arg_count();
|
int argc = arg_count();
|
||||||
ParameterCount actual(argc);
|
ParameterCount actual(argc);
|
||||||
|
|
||||||
EmitLoadTypeFeedbackVector(masm, a2);
|
EmitLoadTypeFeedbackVector(masm, a2);
|
||||||
@ -3153,7 +3153,7 @@ void CallICStub::Generate(MacroAssembler* masm) {
|
|||||||
__ Branch(&extra_checks_or_miss, ne, a1, Operand(t0));
|
__ Branch(&extra_checks_or_miss, ne, a1, Operand(t0));
|
||||||
|
|
||||||
__ bind(&have_js_function);
|
__ bind(&have_js_function);
|
||||||
if (state_.CallAsMethod()) {
|
if (CallAsMethod()) {
|
||||||
EmitContinueIfStrictOrNative(masm, &cont);
|
EmitContinueIfStrictOrNative(masm, &cont);
|
||||||
// Compute the receiver in sloppy mode.
|
// Compute the receiver in sloppy mode.
|
||||||
__ lw(a3, MemOperand(sp, argc * kPointerSize));
|
__ lw(a3, MemOperand(sp, argc * kPointerSize));
|
||||||
@ -3170,7 +3170,7 @@ void CallICStub::Generate(MacroAssembler* masm) {
|
|||||||
__ bind(&slow);
|
__ bind(&slow);
|
||||||
EmitSlowCase(masm, argc, &non_function);
|
EmitSlowCase(masm, argc, &non_function);
|
||||||
|
|
||||||
if (state_.CallAsMethod()) {
|
if (CallAsMethod()) {
|
||||||
__ bind(&wrap);
|
__ bind(&wrap);
|
||||||
EmitWrapCase(masm, argc, &cont);
|
EmitWrapCase(masm, argc, &cont);
|
||||||
}
|
}
|
||||||
@ -3215,7 +3215,7 @@ void CallICStub::Generate(MacroAssembler* masm) {
|
|||||||
|
|
||||||
void CallICStub::GenerateMiss(MacroAssembler* masm, IC::UtilityId id) {
|
void CallICStub::GenerateMiss(MacroAssembler* masm, IC::UtilityId id) {
|
||||||
// Get the receiver of the function from the stack; 1 ~ return address.
|
// Get the receiver of the function from the stack; 1 ~ return address.
|
||||||
__ lw(t0, MemOperand(sp, (state_.arg_count() + 1) * kPointerSize));
|
__ lw(t0, MemOperand(sp, (arg_count() + 1) * kPointerSize));
|
||||||
|
|
||||||
{
|
{
|
||||||
FrameScope scope(masm, StackFrame::INTERNAL);
|
FrameScope scope(masm, StackFrame::INTERNAL);
|
||||||
|
@ -3202,9 +3202,9 @@ void CallIC_ArrayStub::Generate(MacroAssembler* masm) {
|
|||||||
|
|
||||||
// The slow case, we need this no matter what to complete a call after a miss.
|
// The slow case, we need this no matter what to complete a call after a miss.
|
||||||
CallFunctionNoFeedback(masm,
|
CallFunctionNoFeedback(masm,
|
||||||
arg_count(),
|
arg_count(),
|
||||||
true,
|
true,
|
||||||
CallAsMethod());
|
CallAsMethod());
|
||||||
|
|
||||||
// Unreachable.
|
// Unreachable.
|
||||||
__ stop("Unexpected code address");
|
__ stop("Unexpected code address");
|
||||||
@ -3217,7 +3217,7 @@ void CallICStub::Generate(MacroAssembler* masm) {
|
|||||||
Label extra_checks_or_miss, slow_start;
|
Label extra_checks_or_miss, slow_start;
|
||||||
Label slow, non_function, wrap, cont;
|
Label slow, non_function, wrap, cont;
|
||||||
Label have_js_function;
|
Label have_js_function;
|
||||||
int argc = state_.arg_count();
|
int argc = arg_count();
|
||||||
ParameterCount actual(argc);
|
ParameterCount actual(argc);
|
||||||
|
|
||||||
EmitLoadTypeFeedbackVector(masm, a2);
|
EmitLoadTypeFeedbackVector(masm, a2);
|
||||||
@ -3229,7 +3229,7 @@ void CallICStub::Generate(MacroAssembler* masm) {
|
|||||||
__ Branch(&extra_checks_or_miss, ne, a1, Operand(a4));
|
__ Branch(&extra_checks_or_miss, ne, a1, Operand(a4));
|
||||||
|
|
||||||
__ bind(&have_js_function);
|
__ bind(&have_js_function);
|
||||||
if (state_.CallAsMethod()) {
|
if (CallAsMethod()) {
|
||||||
EmitContinueIfStrictOrNative(masm, &cont);
|
EmitContinueIfStrictOrNative(masm, &cont);
|
||||||
// Compute the receiver in sloppy mode.
|
// Compute the receiver in sloppy mode.
|
||||||
__ ld(a3, MemOperand(sp, argc * kPointerSize));
|
__ ld(a3, MemOperand(sp, argc * kPointerSize));
|
||||||
@ -3246,7 +3246,7 @@ void CallICStub::Generate(MacroAssembler* masm) {
|
|||||||
__ bind(&slow);
|
__ bind(&slow);
|
||||||
EmitSlowCase(masm, argc, &non_function);
|
EmitSlowCase(masm, argc, &non_function);
|
||||||
|
|
||||||
if (state_.CallAsMethod()) {
|
if (CallAsMethod()) {
|
||||||
__ bind(&wrap);
|
__ bind(&wrap);
|
||||||
EmitWrapCase(masm, argc, &cont);
|
EmitWrapCase(masm, argc, &cont);
|
||||||
}
|
}
|
||||||
@ -3291,7 +3291,7 @@ void CallICStub::Generate(MacroAssembler* masm) {
|
|||||||
|
|
||||||
void CallICStub::GenerateMiss(MacroAssembler* masm, IC::UtilityId id) {
|
void CallICStub::GenerateMiss(MacroAssembler* masm, IC::UtilityId id) {
|
||||||
// Get the receiver of the function from the stack; 1 ~ return address.
|
// Get the receiver of the function from the stack; 1 ~ return address.
|
||||||
__ ld(a4, MemOperand(sp, (state_.arg_count() + 1) * kPointerSize));
|
__ ld(a4, MemOperand(sp, (arg_count() + 1) * kPointerSize));
|
||||||
|
|
||||||
{
|
{
|
||||||
FrameScope scope(masm, StackFrame::INTERNAL);
|
FrameScope scope(masm, StackFrame::INTERNAL);
|
||||||
|
Loading…
Reference in New Issue
Block a user