Index: src/arm/lithium-arm.cc |
diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc |
index 787fc81aa881eaa26685e76c4627f30bd2e9c12a..53ba309e61a3f5274121e3f0afc5ff87274baea1 100644 |
--- a/src/arm/lithium-arm.cc |
+++ b/src/arm/lithium-arm.cc |
@@ -1328,8 +1328,10 @@ LInstruction* LChunkBuilder::DoCallNewArray(HCallNewArray* instr) { |
LInstruction* LChunkBuilder::DoCallFunction(HCallFunction* instr) { |
LOperand* context = UseFixed(instr->context(), cp); |
LOperand* function = UseFixed(instr->function(), r1); |
- return MarkAsCall( |
- DefineFixed(new(zone()) LCallFunction(context, function), r0), instr); |
+ LCallFunction* call = new(zone()) LCallFunction(context, function); |
+ LInstruction* result = DefineFixed(call, r0); |
+ if (instr->IsTailCall()) return result; |
+ return MarkAsCall(result, instr); |
} |