Index: sdk/lib/_internal/compiler/implementation/ssa/codegen.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart b/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart |
index d9213632e7dc7725f73e276d96e82d511482723e..c0835f717a25e5dc7d095bcf9c7ff58f0ca3783a 100644 |
--- a/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart |
+++ b/sdk/lib/_internal/compiler/implementation/ssa/codegen.dart |
@@ -1817,6 +1817,8 @@ class SsaCodeGenerator implements HVisitor, HBlockInformationVisitor { |
handledBySpecialCase = true; |
if (input is HIs) { |
emitIs(input, '!=='); |
+ } else if (input is HNot) { |
+ use(input.inputs[0]); |
} else if (input is HIdentity) { |
HIdentity identity = input; |
emitIdentityComparison(identity.left, identity.right, true); |
@@ -1866,11 +1868,7 @@ class SsaCodeGenerator implements HVisitor, HBlockInformationVisitor { |
} else if (node.inputs[1].isConstantBoolean()) { |
String operation = node.inputs[1].isConstantFalse() ? '&&' : '||'; |
if (operation == '||') { |
- if (input is HNot) { |
- use(input.inputs[0]); |
- } else { |
- generateNot(input); |
- } |
+ generateNot(input); |
} else { |
use(input); |
} |