| Index: src/compiler/simplified-operator.cc
 | 
| diff --git a/src/compiler/simplified-operator.cc b/src/compiler/simplified-operator.cc
 | 
| index 08361e51e5daa43b3426bbb864a772eec5fc94ac..165ea415ab439dc650cfd82f055c1da794a46871 100644
 | 
| --- a/src/compiler/simplified-operator.cc
 | 
| +++ b/src/compiler/simplified-operator.cc
 | 
| @@ -308,13 +308,15 @@ CompareOperationHints::Hint CompareOperationHintOf(const Operator* op) {
 | 
|    V(SpeculativeNumberMultiply)    \
 | 
|    V(SpeculativeNumberModulus)
 | 
|  
 | 
| -#define CHECKED_OP_LIST(V) \
 | 
| -  V(CheckTaggedPointer)    \
 | 
| -  V(CheckTaggedSigned)     \
 | 
| -  V(CheckedUint32ToInt32)  \
 | 
| -  V(CheckedFloat64ToInt32) \
 | 
| -  V(CheckedTaggedToInt32)  \
 | 
| -  V(CheckedTaggedToFloat64)
 | 
| +#define CHECKED_OP_LIST(V)    \
 | 
| +  V(CheckTaggedPointer, 1)    \
 | 
| +  V(CheckTaggedSigned, 1)     \
 | 
| +  V(CheckedInt32Add, 2)       \
 | 
| +  V(CheckedInt32Sub, 2)       \
 | 
| +  V(CheckedUint32ToInt32, 1)  \
 | 
| +  V(CheckedFloat64ToInt32, 1) \
 | 
| +  V(CheckedTaggedToInt32, 1)  \
 | 
| +  V(CheckedTaggedToFloat64, 1)
 | 
|  
 | 
|  struct SimplifiedOperatorGlobalCache final {
 | 
|  #define PURE(Name, properties, input_count)                                \
 | 
| @@ -327,29 +329,29 @@ struct SimplifiedOperatorGlobalCache final {
 | 
|    PURE_OP_LIST(PURE)
 | 
|  #undef PURE
 | 
|  
 | 
| -#define CHECKED(Name)                                                        \
 | 
| -  struct Name##Operator final : public Operator {                            \
 | 
| -    Name##Operator()                                                         \
 | 
| -        : Operator(IrOpcode::k##Name,                                        \
 | 
| -                   Operator::kFoldable | Operator::kNoThrow, #Name, 1, 1, 1, \
 | 
| -                   1, 1, 0) {}                                               \
 | 
| -  };                                                                         \
 | 
| +#define CHECKED(Name, value_input_count)                            \
 | 
| +  struct Name##Operator final : public Operator {                   \
 | 
| +    Name##Operator()                                                \
 | 
| +        : Operator(IrOpcode::k##Name,                               \
 | 
| +                   Operator::kFoldable | Operator::kNoThrow, #Name, \
 | 
| +                   value_input_count, 1, 1, 1, 1, 0) {}             \
 | 
| +  };                                                                \
 | 
|    Name##Operator k##Name;
 | 
|    CHECKED_OP_LIST(CHECKED)
 | 
|  #undef CHECKED
 | 
|  
 | 
|    template <CheckFloat64HoleMode kMode>
 | 
| -  struct CheckFloat64HoleNaNOperatortor final
 | 
| +  struct CheckFloat64HoleNaNOperator final
 | 
|        : public Operator1<CheckFloat64HoleMode> {
 | 
| -    CheckFloat64HoleNaNOperatortor()
 | 
| +    CheckFloat64HoleNaNOperator()
 | 
|          : Operator1<CheckFloat64HoleMode>(
 | 
|                IrOpcode::kCheckFloat64Hole,
 | 
| -              Operator::kFoldable | Operator::kNoDeopt, "CheckFloat64Hole", 1,
 | 
| +              Operator::kFoldable | Operator::kNoThrow, "CheckFloat64Hole", 1,
 | 
|                1, 1, 1, 1, 0, kMode) {}
 | 
|    };
 | 
| -  CheckFloat64HoleNaNOperatortor<CheckFloat64HoleMode::kAllowReturnHole>
 | 
| +  CheckFloat64HoleNaNOperator<CheckFloat64HoleMode::kAllowReturnHole>
 | 
|        kCheckFloat64HoleAllowReturnHoleOperator;
 | 
| -  CheckFloat64HoleNaNOperatortor<CheckFloat64HoleMode::kNeverReturnHole>
 | 
| +  CheckFloat64HoleNaNOperator<CheckFloat64HoleMode::kNeverReturnHole>
 | 
|        kCheckFloat64HoleNeverReturnHoleOperator;
 | 
|  
 | 
|    template <CheckTaggedHoleMode kMode>
 | 
| @@ -357,7 +359,7 @@ struct SimplifiedOperatorGlobalCache final {
 | 
|      CheckTaggedHoleOperator()
 | 
|          : Operator1<CheckTaggedHoleMode>(
 | 
|                IrOpcode::kCheckTaggedHole,
 | 
| -              Operator::kFoldable | Operator::kNoDeopt, "CheckTaggedHole", 1, 1,
 | 
| +              Operator::kFoldable | Operator::kNoThrow, "CheckTaggedHole", 1, 1,
 | 
|                1, 1, 1, 0, kMode) {}
 | 
|    };
 | 
|    CheckTaggedHoleOperator<CheckTaggedHoleMode::kConvertHoleToUndefined>
 | 
| @@ -365,13 +367,6 @@ struct SimplifiedOperatorGlobalCache final {
 | 
|    CheckTaggedHoleOperator<CheckTaggedHoleMode::kNeverReturnHole>
 | 
|        kCheckTaggedHoleNeverReturnHoleOperator;
 | 
|  
 | 
| -  struct CheckIfOperator final : public Operator {
 | 
| -    CheckIfOperator()
 | 
| -        : Operator(IrOpcode::kCheckIf, Operator::kFoldable | Operator::kNoDeopt,
 | 
| -                   "CheckIf", 1, 1, 1, 0, 1, 0) {}
 | 
| -  };
 | 
| -  CheckIfOperator kCheckIf;
 | 
| -
 | 
|    template <PretenureFlag kPretenure>
 | 
|    struct AllocateOperator final : public Operator1<PretenureFlag> {
 | 
|      AllocateOperator()
 | 
| @@ -419,7 +414,7 @@ SimplifiedOperatorBuilder::SimplifiedOperatorBuilder(Zone* zone)
 | 
|  PURE_OP_LIST(GET_FROM_CACHE)
 | 
|  #undef GET_FROM_CACHE
 | 
|  
 | 
| -#define GET_FROM_CACHE(Name) \
 | 
| +#define GET_FROM_CACHE(Name, value_input_count) \
 | 
|    const Operator* SimplifiedOperatorBuilder::Name() { return &cache_.k##Name; }
 | 
|  CHECKED_OP_LIST(GET_FROM_CACHE)
 | 
|  #undef GET_FROM_CACHE
 | 
| @@ -448,10 +443,6 @@ const Operator* SimplifiedOperatorBuilder::CheckTaggedHole(
 | 
|    return nullptr;
 | 
|  }
 | 
|  
 | 
| -const Operator* SimplifiedOperatorBuilder::CheckIf() {
 | 
| -  return &cache_.kCheckIf;
 | 
| -}
 | 
| -
 | 
|  const Operator* SimplifiedOperatorBuilder::ReferenceEqual(Type* type) {
 | 
|    return new (zone()) Operator(IrOpcode::kReferenceEqual,
 | 
|                                 Operator::kCommutative | Operator::kPure,
 | 
| 
 |