| Index: src/compiler/js-typed-lowering.cc
|
| diff --git a/src/compiler/js-typed-lowering.cc b/src/compiler/js-typed-lowering.cc
|
| index 9c684b31cceed4308f2efc5e46448eaae74c7d27..660da66226d58cb361b8f47f1f8299f2206148a8 100644
|
| --- a/src/compiler/js-typed-lowering.cc
|
| +++ b/src/compiler/js-typed-lowering.cc
|
| @@ -427,6 +427,8 @@ JSTypedLowering::JSTypedLowering(Editor* editor,
|
| dependencies_(dependencies),
|
| flags_(flags),
|
| jsgraph_(jsgraph),
|
| + the_hole_type_(
|
| + Type::Constant(factory()->the_hole_value(), graph()->zone())),
|
| type_cache_(TypeCache::Get()) {
|
| for (size_t k = 0; k < arraysize(shifted_int32_ranges_); ++k) {
|
| double min = kMinInt / (1 << k);
|
| @@ -657,6 +659,10 @@ Reduction JSTypedLowering::ReduceJSStrictEqual(Node* node, bool invert) {
|
| return Replace(replacement);
|
| }
|
| }
|
| + if (r.OneInputIs(the_hole_type_)) {
|
| + return r.ChangeToPureOperator(simplified()->ReferenceEqual(the_hole_type_),
|
| + invert);
|
| + }
|
| if (r.OneInputIs(Type::Undefined())) {
|
| return r.ChangeToPureOperator(
|
| simplified()->ReferenceEqual(Type::Undefined()), invert);
|
|
|