Index: src/compiler/x64/code-generator-x64.cc |
diff --git a/src/compiler/x64/code-generator-x64.cc b/src/compiler/x64/code-generator-x64.cc |
index 30b0f9dce62343a590dd93225800537e24460013..1a07fb8a10df211e019835576defdb5f998325bf 100644 |
--- a/src/compiler/x64/code-generator-x64.cc |
+++ b/src/compiler/x64/code-generator-x64.cc |
@@ -695,6 +695,15 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
frame_access_state()->ClearSPDelta(); |
break; |
} |
+ case kArchTailCallAddress: { |
+ int stack_param_delta = i.InputInt32(instr->InputCount() - 1); |
+ AssembleDeconstructActivationRecord(stack_param_delta); |
+ CHECK(!HasImmediateInput(instr, 0)); |
+ Register reg = i.InputRegister(0); |
+ __ jmp(reg); |
+ frame_access_state()->ClearSPDelta(); |
+ break; |
+ } |
case kArchCallJSFunction: { |
EnsureSpaceForLazyDeopt(); |
Register func = i.InputRegister(0); |