Commit bcb67153 authored by plind44@gmail.com's avatar plind44@gmail.com

MIPS: Get rid of ContextualMode for call ICs.

Port r18594 (91e7cee)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 3f2e6ce1
...@@ -2648,8 +2648,7 @@ void FullCodeGenerator::EmitCallWithIC(Call* expr, ...@@ -2648,8 +2648,7 @@ void FullCodeGenerator::EmitCallWithIC(Call* expr,
// Record source position for debugger. // Record source position for debugger.
SetSourcePosition(expr->position()); SetSourcePosition(expr->position());
// Call the IC initialization code. // Call the IC initialization code.
Handle<Code> ic = Handle<Code> ic = isolate()->stub_cache()->ComputeCallInitialize(arg_count);
isolate()->stub_cache()->ComputeCallInitialize(arg_count, mode);
TypeFeedbackId ast_id = mode == CONTEXTUAL TypeFeedbackId ast_id = mode == CONTEXTUAL
? TypeFeedbackId::None() ? TypeFeedbackId::None()
: expr->CallFeedbackId(); : expr->CallFeedbackId();
...@@ -4216,10 +4215,8 @@ void FullCodeGenerator::VisitCallRuntime(CallRuntime* expr) { ...@@ -4216,10 +4215,8 @@ void FullCodeGenerator::VisitCallRuntime(CallRuntime* expr) {
if (expr->is_jsruntime()) { if (expr->is_jsruntime()) {
// Call the JS runtime function. // Call the JS runtime function.
__ li(a2, Operand(expr->name())); __ li(a2, Operand(expr->name()));
ContextualMode mode = NOT_CONTEXTUAL; Handle<Code> ic = isolate()->stub_cache()->ComputeCallInitialize(arg_count);
Handle<Code> ic = CallIC(ic, NOT_CONTEXTUAL, expr->CallRuntimeFeedbackId());
isolate()->stub_cache()->ComputeCallInitialize(arg_count, mode);
CallIC(ic, mode, expr->CallRuntimeFeedbackId());
// Restore context register. // Restore context register.
__ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
} else { } else {
......
...@@ -3905,8 +3905,7 @@ void LCodeGen::DoCallNamed(LCallNamed* instr) { ...@@ -3905,8 +3905,7 @@ void LCodeGen::DoCallNamed(LCallNamed* instr) {
ASSERT(ToRegister(instr->result()).is(v0)); ASSERT(ToRegister(instr->result()).is(v0));
int arity = instr->arity(); int arity = instr->arity();
Handle<Code> ic = Handle<Code> ic = isolate()->stub_cache()->ComputeCallInitialize(arity);
isolate()->stub_cache()->ComputeCallInitialize(arity, NOT_CONTEXTUAL);
__ li(a2, Operand(instr->name())); __ li(a2, Operand(instr->name()));
CallCode(ic, RelocInfo::CODE_TARGET, instr); CallCode(ic, RelocInfo::CODE_TARGET, instr);
} }
...@@ -3933,8 +3932,7 @@ void LCodeGen::DoCallGlobal(LCallGlobal* instr) { ...@@ -3933,8 +3932,7 @@ void LCodeGen::DoCallGlobal(LCallGlobal* instr) {
ASSERT(ToRegister(instr->result()).is(v0)); ASSERT(ToRegister(instr->result()).is(v0));
int arity = instr->arity(); int arity = instr->arity();
Handle<Code> ic = Handle<Code> ic = isolate()->stub_cache()->ComputeCallInitialize(arity);
isolate()->stub_cache()->ComputeCallInitialize(arity, CONTEXTUAL);
__ li(a2, Operand(instr->name())); __ li(a2, Operand(instr->name()));
CallCode(ic, RelocInfo::CODE_TARGET, instr); CallCode(ic, RelocInfo::CODE_TARGET, instr);
} }
......
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