Index: src/property-details.h |
diff --git a/src/property-details.h b/src/property-details.h |
index 517e7a9641fb7615f59beb6242868a9df4aa38da..791eb524c77c40e9f1230657c2d9d84cfadcb7df 100644 |
--- a/src/property-details.h |
+++ b/src/property-details.h |
@@ -186,12 +186,24 @@ static const int kInvalidEnumCacheSentinel = |
enum class PropertyCellType { |
- kUninitialized, // Cell is deleted or not yet defined. |
- kUndefined, // The PREMONOMORPHIC of property cells. |
- kConstant, // Cell has been assigned only once. |
- kMutable, // Cell will no longer be tracked as constant. |
- kDeleted = kConstant, // like kUninitialized, but for cells already deleted. |
- kInvalid = kMutable, // For dictionaries not holding cells. |
+ // Meaningful when a property cell does not contain the hole. |
+ kUndefined, // The PREMONOMORPHIC of property cells. |
+ kConstant, // Cell has been assigned only once. |
+ kConstantType, // Cell has been assigned only one type. |
+ kMutable, // Cell will no longer be tracked as constant. |
+ |
+ // Meaningful when a property cell contains the hole. |
+ kUninitialized = kUndefined, // Cell has never been initialized. |
+ kInvalidated = kConstant, // Cell has been deleted or invalidated. |
+ |
+ // For dictionaries not holding cells. |
+ kNoCell = kMutable, |
+}; |
+ |
+ |
+enum class PropertyCellConstantType { |
+ kSmi, |
+ kStableMap, |
}; |
@@ -229,7 +241,7 @@ class PropertyDetails BASE_EMBEDDED { |
} |
static PropertyDetails Empty() { |
- return PropertyDetails(NONE, DATA, 0, PropertyCellType::kInvalid); |
+ return PropertyDetails(NONE, DATA, 0, PropertyCellType::kNoCell); |
} |
int pointer() const { return DescriptorPointer::decode(value_); } |