Index: src/arm/lithium-arm.cc |
diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc |
index 3f1d15bdb099fde9c83cec5c9d9401e6d2020f81..0df127ad902c81cb17a981305502c50cc637b9f9 100644 |
--- a/src/arm/lithium-arm.cc |
+++ b/src/arm/lithium-arm.cc |
@@ -301,6 +301,13 @@ void LStoreContextSlot::PrintDataTo(StringStream* stream) { |
} |
+void LInvokeFunction::PrintDataTo(StringStream* stream) { |
+ stream->Add("= "); |
+ InputAt(0)->PrintTo(stream); |
+ stream->Add(" #%d / ", arity()); |
+} |
+ |
+ |
void LCallKeyed::PrintDataTo(StringStream* stream) { |
stream->Add("[r2] #%d / ", arity()); |
} |
@@ -1212,6 +1219,14 @@ LInstruction* LChunkBuilder::DoCallConstantFunction( |
} |
+LInstruction* LChunkBuilder::DoInvokeFunction(HInvokeFunction* instr) { |
+ LOperand* function = UseFixed(instr->function(), r1); |
+ argument_count_ -= instr->argument_count(); |
+ LInvokeFunction* result = new LInvokeFunction(function); |
+ return MarkAsCall(DefineFixed(result, r0), instr, CANNOT_DEOPTIMIZE_EAGERLY); |
+} |
+ |
+ |
LInstruction* LChunkBuilder::DoUnaryMathOperation(HUnaryMathOperation* instr) { |
BuiltinFunctionId op = instr->op(); |
if (op == kMathLog || op == kMathSin || op == kMathCos) { |