Index: src/ia32/lithium-ia32.cc |
diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc |
index 9ccd18979e6b8b1e788606f12e25b43a17755e4c..59b026c0d5d9dc567d5448f9fa0fbb7f606682d2 100644 |
--- a/src/ia32/lithium-ia32.cc |
+++ b/src/ia32/lithium-ia32.cc |
@@ -303,6 +303,15 @@ void LStoreContextSlot::PrintDataTo(StringStream* stream) { |
} |
+void LInvokeFunction::PrintDataTo(StringStream* stream) { |
+ stream->Add("= "); |
+ InputAt(0)->PrintTo(stream); |
+ stream->Add(" "); |
+ InputAt(1)->PrintTo(stream); |
+ stream->Add(" #%d / ", arity()); |
+} |
+ |
+ |
void LCallKeyed::PrintDataTo(StringStream* stream) { |
stream->Add("[ecx] #%d / ", arity()); |
} |
@@ -1222,6 +1231,15 @@ LInstruction* LChunkBuilder::DoCallConstantFunction( |
} |
+LInstruction* LChunkBuilder::DoInvokeFunction(HInvokeFunction* instr) { |
+ LOperand* context = UseFixed(instr->context(), esi); |
+ LOperand* function = UseFixed(instr->function(), edi); |
+ argument_count_ -= instr->argument_count(); |
+ LInvokeFunction* result = new LInvokeFunction(context, function); |
+ return MarkAsCall(DefineFixed(result, eax), instr, CANNOT_DEOPTIMIZE_EAGERLY); |
+} |
+ |
+ |
LInstruction* LChunkBuilder::DoUnaryMathOperation(HUnaryMathOperation* instr) { |
BuiltinFunctionId op = instr->op(); |
if (op == kMathLog) { |