| Index: src/typing.cc | 
| diff --git a/src/typing.cc b/src/typing.cc | 
| index cbd40f37159e3fea52c107e04c9e0d2fd74d418a..3b630db8e3df7e734483347a468bda01c39cba04 100644 | 
| --- a/src/typing.cc | 
| +++ b/src/typing.cc | 
| @@ -540,11 +540,15 @@ void AstTyper::VisitCall(Call* expr) { | 
| if (expr->IsUsingCallFeedbackICSlot(isolate())) { | 
| FeedbackVectorICSlot slot = expr->CallFeedbackICSlot(); | 
| is_uninitialized = oracle()->CallIsUninitialized(slot); | 
| -    if (!expr->expression()->IsProperty() && | 
| -        oracle()->CallIsMonomorphic(slot)) { | 
| -      expr->set_target(oracle()->GetCallTarget(slot)); | 
| -      Handle<AllocationSite> site = oracle()->GetCallAllocationSite(slot); | 
| -      expr->set_allocation_site(site); | 
| +    if (oracle()->CallIsMonomorphic(slot)) { | 
| +      if (oracle()->CallIsRoundWithMinusZeroResult(slot)) { | 
| +        expr->MarkShouldHandleMinusZeroResult(); | 
| +      } | 
| +      if (!expr->expression()->IsProperty()) { | 
| +        expr->set_target(oracle()->GetCallTarget(slot)); | 
| +        Handle<AllocationSite> site = oracle()->GetCallAllocationSite(slot); | 
| +        expr->set_allocation_site(site); | 
| +      } | 
| } | 
| } | 
|  | 
|  |