Chromium Code Reviews| Index: lib/compiler/implementation/ssa/codegen.dart |
| diff --git a/lib/compiler/implementation/ssa/codegen.dart b/lib/compiler/implementation/ssa/codegen.dart |
| index b486e0c62e1453be31363255855eb58daf207840..66239fb08a953bbdc060bf818b96726c38d203eb 100644 |
| --- a/lib/compiler/implementation/ssa/codegen.dart |
| +++ b/lib/compiler/implementation/ssa/codegen.dart |
| @@ -1689,7 +1689,12 @@ class SsaCodeGenerator implements HVisitor, HBlockInformationVisitor { |
| use(input.inputs[0], JSPrecedence.EQUALITY_PRECEDENCE); |
| buffer.add(' !== true'); |
| endExpression(JSPrecedence.EQUALITY_PRECEDENCE); |
| - } else if (isBuiltinRelational(input) && isGenerateAtUseSite(input)) { |
| + } else if (isBuiltinRelational(input) && |
| + isGenerateAtUseSite(input) && |
| + !input.inputs[0].isDouble() && |
| + !input.inputs[0].isTypeUnknown()) { |
|
ngeoffray
2012/05/10 10:41:13
I think this will cover 'conflicting'. What you sh
|
| + // This optimization doesn't work for NaN, so we don't do it if the |
| + // type isn't known to be non-Double. |
| Map<String, String> inverseOperator = const <String>{ |
| "==" : "!=", |
| "!=" : "==", |