Index: src/compiler/common-operator.h |
diff --git a/src/compiler/common-operator.h b/src/compiler/common-operator.h |
index 31c3d129e2257a8b553a6955e1a09333b1d99246..355269cd5d2ec24e542a9031f8130a6537fb7423 100644 |
--- a/src/compiler/common-operator.h |
+++ b/src/compiler/common-operator.h |
@@ -33,6 +33,30 @@ std::ostream& operator<<(std::ostream&, BranchHint); |
BranchHint BranchHintOf(const Operator* const); |
+class SelectParameters FINAL { |
+ public: |
+ explicit SelectParameters(MachineType type, |
+ BranchHint hint = BranchHint::kNone) |
+ : type_(type), hint_(hint) {} |
+ |
+ MachineType type() const { return type_; } |
+ BranchHint hint() const { return hint_; } |
+ |
+ private: |
+ const MachineType type_; |
+ const BranchHint hint_; |
+}; |
+ |
+bool operator==(SelectParameters const&, SelectParameters const&); |
+bool operator!=(SelectParameters const&, SelectParameters const&); |
+ |
+size_t hash_value(SelectParameters const& p); |
+ |
+std::ostream& operator<<(std::ostream&, SelectParameters const& p); |
+ |
+SelectParameters const& SelectParametersOf(const Operator* const); |
+ |
+ |
// Flag that describes how to combine the current environment with |
// the output of a node to obtain a framestate for lazy bailout. |
class OutputFrameStateCombine { |
@@ -157,6 +181,7 @@ class CommonOperatorBuilder FINAL : public ZoneObject { |
const Operator* NumberConstant(volatile double); |
const Operator* HeapConstant(const Unique<HeapObject>&); |
+ const Operator* Select(MachineType, BranchHint = BranchHint::kNone); |
const Operator* Phi(MachineType type, int arguments); |
const Operator* EffectPhi(int arguments); |
const Operator* ValueEffect(int arguments); |