| Index: src/property-details.h
|
| diff --git a/src/property-details.h b/src/property-details.h
|
| index e71419ac8c44a352ada1994964705c45979c423c..1f5ec98428153e52111eb81394c81bcd63790f82 100644
|
| --- a/src/property-details.h
|
| +++ b/src/property-details.h
|
| @@ -188,12 +188,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,
|
| };
|
|
|
|
|
| @@ -231,7 +243,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_); }
|
|
|