| Index: src/compiler/simplified-operator.cc
|
| diff --git a/src/compiler/simplified-operator.cc b/src/compiler/simplified-operator.cc
|
| index aa5b397104727ad0bac3031f2f216e881261c261..c12a4ce099bc83194c55f3db30a881c356bb589d 100644
|
| --- a/src/compiler/simplified-operator.cc
|
| +++ b/src/compiler/simplified-operator.cc
|
| @@ -183,6 +183,13 @@ BinaryOperationHints::Hint BinaryOperationHintOf(const Operator* op) {
|
| return OpParameter<BinaryOperationHints::Hint>(op);
|
| }
|
|
|
| +CompareOperationHints::Hint CompareOperationHintOf(const Operator* op) {
|
| + DCHECK(op->opcode() == IrOpcode::kSpeculativeNumberEqual ||
|
| + op->opcode() == IrOpcode::kSpeculativeNumberLessThan ||
|
| + op->opcode() == IrOpcode::kSpeculativeNumberLessThanOrEqual);
|
| + return OpParameter<CompareOperationHints::Hint>(op);
|
| +}
|
| +
|
| #define PURE_OP_LIST(V) \
|
| V(BooleanNot, Operator::kNoProperties, 1) \
|
| V(BooleanToNumber, Operator::kNoProperties, 1) \
|
| @@ -383,6 +390,27 @@ const Operator* SimplifiedOperatorBuilder::SpeculativeNumberSubtract(
|
| "SpeculativeNumberSubtract", 2, 1, 1, 1, 1, 1, hint);
|
| }
|
|
|
| +const Operator* SimplifiedOperatorBuilder::SpeculativeNumberEqual(
|
| + CompareOperationHints::Hint hint) {
|
| + return new (zone()) Operator1<CompareOperationHints::Hint>(
|
| + IrOpcode::kSpeculativeNumberEqual, Operator::kNoThrow,
|
| + "SpeculativeNumberEqual", 2, 1, 1, 1, 1, 1, hint);
|
| +}
|
| +
|
| +const Operator* SimplifiedOperatorBuilder::SpeculativeNumberLessThan(
|
| + CompareOperationHints::Hint hint) {
|
| + return new (zone()) Operator1<CompareOperationHints::Hint>(
|
| + IrOpcode::kSpeculativeNumberLessThan, Operator::kNoThrow,
|
| + "SpeculativeNumberLessThan", 2, 1, 1, 1, 1, 1, hint);
|
| +}
|
| +
|
| +const Operator* SimplifiedOperatorBuilder::SpeculativeNumberLessThanOrEqual(
|
| + CompareOperationHints::Hint hint) {
|
| + return new (zone()) Operator1<CompareOperationHints::Hint>(
|
| + IrOpcode::kSpeculativeNumberLessThanOrEqual, Operator::kNoThrow,
|
| + "SpeculativeNumberLessThanOrEqual", 2, 1, 1, 1, 1, 1, hint);
|
| +}
|
| +
|
| #define ACCESS_OP_LIST(V) \
|
| V(LoadField, FieldAccess, Operator::kNoWrite, 1, 1, 1) \
|
| V(StoreField, FieldAccess, Operator::kNoRead, 2, 1, 0) \
|
|
|