Index: src/compiler/ia32/code-generator-ia32.cc |
diff --git a/src/compiler/ia32/code-generator-ia32.cc b/src/compiler/ia32/code-generator-ia32.cc |
index 009421f8cce65fff8be7fc0c91a9528e3ccff8ba..c471465101fe12fc4ecd86b40a818ddcf32df958 100644 |
--- a/src/compiler/ia32/code-generator-ia32.cc |
+++ b/src/compiler/ia32/code-generator-ia32.cc |
@@ -467,6 +467,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); |