| Index: src/ia32/lithium-ia32.cc
|
| diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc
|
| index 29b42fe0ffc7d1377e9d616fff8e7b8b2ab2275d..278d60030464f8ba83de548fcc6196ed7cb11342 100644
|
| --- a/src/ia32/lithium-ia32.cc
|
| +++ b/src/ia32/lithium-ia32.cc
|
| @@ -1410,8 +1410,10 @@ LInstruction* LChunkBuilder::DoCallNewArray(HCallNewArray* instr) {
|
| LInstruction* LChunkBuilder::DoCallFunction(HCallFunction* instr) {
|
| LOperand* context = UseFixed(instr->context(), esi);
|
| LOperand* function = UseFixed(instr->function(), edi);
|
| - LCallFunction* result = new(zone()) LCallFunction(context, function);
|
| - return MarkAsCall(DefineFixed(result, eax), instr);
|
| + LCallFunction* call = new(zone()) LCallFunction(context, function);
|
| + LInstruction* result = DefineFixed(call, eax);
|
| + if (instr->IsTailCall()) return result;
|
| + return MarkAsCall(result, instr);
|
| }
|
|
|
|
|
|
|