Index: src/arm64/lithium-arm64.cc |
diff --git a/src/arm64/lithium-arm64.cc b/src/arm64/lithium-arm64.cc |
index 739f43ad1ff55aa95f145d2ddc7ab33f86bc7345..0975587fe643c135ffdae36d95f50242a3a83d02 100644 |
--- a/src/arm64/lithium-arm64.cc |
+++ b/src/arm64/lithium-arm64.cc |
@@ -1562,6 +1562,19 @@ LInstruction* LChunkBuilder::DoInstanceOfKnownGlobal( |
} |
+LInstruction* LChunkBuilder::DoTailCallThroughMegamorphicCache( |
+ HTailCallThroughMegamorphicCache* instr) { |
+ LOperand* context = UseFixed(instr->context(), cp); |
+ LOperand* receiver_register = |
+ UseFixed(instr->receiver(), LoadDescriptor::ReceiverRegister()); |
+ LOperand* name_register = |
+ UseFixed(instr->name(), LoadDescriptor::NameRegister()); |
+ // Not marked as call. It can't deoptimize, and it never returns. |
+ return new (zone()) LTailCallThroughMegamorphicCache( |
+ context, receiver_register, name_register); |
+} |
+ |
+ |
LInstruction* LChunkBuilder::DoInvokeFunction(HInvokeFunction* instr) { |
LOperand* context = UseFixed(instr->context(), cp); |
// The function is required (by MacroAssembler::InvokeFunction) to be in x1. |