| Index: src/typing-asm.cc
|
| diff --git a/src/typing-asm.cc b/src/typing-asm.cc
|
| index c17e19b33a40ff957f9cd749f54570b7f2cedd33..47fb2b1fc3e74e7a50eb6b77e85a8acf3338ac07 100644
|
| --- a/src/typing-asm.cc
|
| +++ b/src/typing-asm.cc
|
| @@ -1000,6 +1000,7 @@ void AsmTyper::VisitCall(Call* expr) {
|
| }
|
| }
|
| intish_ = kMaxUncombinedAdditiveSteps;
|
| + expr->expression()->set_bounds(Bounds(Type::Function(zone())));
|
| IntersectResult(expr, expected_type);
|
| } else {
|
| FAIL(expr, "invalid callee");
|
| @@ -1135,7 +1136,7 @@ void AsmTyper::VisitBinaryOperation(BinaryOperation* expr) {
|
| VisitIntegerBitwiseOperator(expr, Type::Any(zone()), cache_.kAsmInt,
|
| cache_.kAsmSigned, true);
|
| if (expr->left()->IsCall() && expr->op() == Token::BIT_OR) {
|
| - IntersectResult(expr->left(), cache_.kAsmSigned);
|
| + expr->left()->set_bounds(Bounds(cache_.kAsmSigned));
|
| }
|
| return;
|
| }
|
| @@ -1224,7 +1225,7 @@ void AsmTyper::VisitBinaryOperation(BinaryOperation* expr) {
|
| right_type->Is(cache_.kAsmDouble)) {
|
| // For unary +, expressed as x * 1.0
|
| if (expr->left()->IsCall() && expr->op() == Token::MUL) {
|
| - IntersectResult(expr->left(), cache_.kAsmDouble);
|
| + expr->left()->set_bounds(Bounds(cache_.kAsmDouble));
|
| }
|
| IntersectResult(expr, cache_.kAsmDouble);
|
| return;
|
|
|