Index: src/compiler/simplified-operator.h |
diff --git a/src/compiler/simplified-operator.h b/src/compiler/simplified-operator.h |
index f4c7e7a2af59877573de5295107c680d3ae8014b..4ad44354f828f94034aed7e79766a09796177f3a 100644 |
--- a/src/compiler/simplified-operator.h |
+++ b/src/compiler/simplified-operator.h |
@@ -145,14 +145,28 @@ std::ostream& operator<<(std::ostream&, CheckForMinusZeroMode); |
CheckForMinusZeroMode CheckMinusZeroModeOf(const Operator*) WARN_UNUSED_RESULT; |
+// Flags for map checks. |
+enum class CheckMapsFlag : uint8_t { |
+ kNone = 0u, |
+ kTryMigrateInstance = 1u << 0, // Try instance migration. |
+}; |
+typedef base::Flags<CheckMapsFlag> CheckMapsFlags; |
+ |
+DEFINE_OPERATORS_FOR_FLAGS(CheckMapsFlags) |
+ |
+std::ostream& operator<<(std::ostream&, CheckMapsFlags); |
+ |
// A descriptor for map checks. |
class CheckMapsParameters final { |
public: |
- explicit CheckMapsParameters(ZoneHandleSet<Map> const& maps) : maps_(maps) {} |
+ CheckMapsParameters(CheckMapsFlags flags, ZoneHandleSet<Map> const& maps) |
+ : flags_(flags), maps_(maps) {} |
+ CheckMapsFlags flags() const { return flags_; } |
ZoneHandleSet<Map> const& maps() const { return maps_; } |
private: |
+ CheckMapsFlags const flags_; |
ZoneHandleSet<Map> const maps_; |
}; |
@@ -364,7 +378,7 @@ class V8_EXPORT_PRIVATE SimplifiedOperatorBuilder final |
const Operator* CheckIf(); |
const Operator* CheckBounds(); |
- const Operator* CheckMaps(ZoneHandleSet<Map>); |
+ const Operator* CheckMaps(CheckMapsFlags, ZoneHandleSet<Map>); |
const Operator* CheckHeapObject(); |
const Operator* CheckInternalizedString(); |