| Index: src/compiler/simplified-operator.h
|
| diff --git a/src/compiler/simplified-operator.h b/src/compiler/simplified-operator.h
|
| index f4a3cb9bfe0a6f7f53dad58337ed39e18520ff0d..3dd6ccebbb982bb01117d0190bd004f73e203944 100644
|
| --- a/src/compiler/simplified-operator.h
|
| +++ b/src/compiler/simplified-operator.h
|
| @@ -103,6 +103,18 @@ std::ostream& operator<<(std::ostream&, ElementAccess const&);
|
|
|
| ElementAccess const& ElementAccessOf(const Operator* op) WARN_UNUSED_RESULT;
|
|
|
| +// Mode of operation for the check-hole operators.
|
| +enum class CheckHoleMode : uint8_t {
|
| + kAllowReturnHole, // Allow to return the hole either as NaN or undefined.
|
| + kNeverReturnHole, // Never return the hole (deoptimize instead).
|
| +};
|
| +
|
| +size_t hash_value(CheckHoleMode);
|
| +
|
| +std::ostream& operator<<(std::ostream&, CheckHoleMode);
|
| +
|
| +CheckHoleMode CheckHoleModeOf(const Operator*) WARN_UNUSED_RESULT;
|
| +
|
| Type* TypeOf(const Operator* op) WARN_UNUSED_RESULT;
|
|
|
| BinaryOperationHints::Hint BinaryOperationHintOf(const Operator* op);
|
| @@ -164,8 +176,6 @@ class SimplifiedOperatorBuilder final : public ZoneObject {
|
| const Operator* NumberTrunc();
|
| const Operator* NumberToInt32();
|
| const Operator* NumberToUint32();
|
| - const Operator* NumberIsHoleNaN();
|
| - const Operator* NumberConvertHoleNaN();
|
|
|
| const Operator* NumberSilenceNaN();
|
|
|
| @@ -202,6 +212,8 @@ class SimplifiedOperatorBuilder final : public ZoneObject {
|
| const Operator* CheckedTaggedToInt32();
|
| const Operator* CheckedTaggedToFloat64();
|
|
|
| + const Operator* CheckHole(CheckHoleMode);
|
| + const Operator* CheckHoleNaN(CheckHoleMode);
|
| const Operator* CheckIf();
|
|
|
| const Operator* ObjectIsCallable();
|
|
|