Index: src/compiler/js-typed-lowering.cc |
diff --git a/src/compiler/js-typed-lowering.cc b/src/compiler/js-typed-lowering.cc |
index b63d2325aaf3c939862f0c0826f3bd58973cc572..886846eaddd193a13b9fab13e81176f00da2b615 100644 |
--- a/src/compiler/js-typed-lowering.cc |
+++ b/src/compiler/js-typed-lowering.cc |
@@ -383,6 +383,16 @@ Reduction JSTypedLowering::ReduceJSStrictEqual(Node* node, bool invert) { |
: jsgraph()->TrueConstant()); |
} |
} |
+ /* TODO(neis): This is currently unsound. |
+ if (!r.left_type()->Maybe(r.right_type())) { |
+ // Type intersection is empty; === is always false unless both |
+ // inputs could be strings (one internalized and one not). |
+ if (r.OneInputCannotBe(Type::String())) { |
+ return ReplaceEagerly(node, invert ? jsgraph()->TrueConstant() |
+ : jsgraph()->FalseConstant()); |
+ } |
+ } |
+ */ |
if (r.OneInputIs(Type::Undefined())) { |
return r.ChangeToPureOperator( |
simplified()->ReferenceEqual(Type::Undefined()), invert); |