Index: src/x64/lithium-x64.cc |
diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc |
index 07ca3a5110dab824efbabe8ecedd04f5d6cf73c9..b64d99514b98bfe64c8557367aeee275b8520c23 100644 |
--- a/src/x64/lithium-x64.cc |
+++ b/src/x64/lithium-x64.cc |
@@ -303,6 +303,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("[rcx] #%d / ", arity()); |
} |
@@ -1211,6 +1218,14 @@ LInstruction* LChunkBuilder::DoCallConstantFunction( |
} |
+LInstruction* LChunkBuilder::DoInvokeFunction(HInvokeFunction* instr) { |
+ LOperand* function = UseFixed(instr->function(), rdi); |
+ argument_count_ -= instr->argument_count(); |
+ LInvokeFunction* result = new LInvokeFunction(function); |
+ return MarkAsCall(DefineFixed(result, rax), instr, CANNOT_DEOPTIMIZE_EAGERLY); |
+} |
+ |
+ |
LInstruction* LChunkBuilder::DoUnaryMathOperation(HUnaryMathOperation* instr) { |
BuiltinFunctionId op = instr->op(); |
if (op == kMathLog || op == kMathSin || op == kMathCos) { |