| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 77bc06430c7f4730b27412dd56742a9f6354b31a..2299bcbed309a1b0b3d6f305a25604a5aaf47181 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -1051,6 +1051,7 @@ template <class C> inline bool Is(Object* obj);
|
| V(DependentCode) \
|
| V(HandlerTable) \
|
| V(FixedArray) \
|
| + V(BoilerplateDescription) \
|
| V(FixedDoubleArray) \
|
| V(WeakFixedArray) \
|
| V(ArrayList) \
|
| @@ -2906,6 +2907,27 @@ class FixedArray: public FixedArrayBase {
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(FixedArray);
|
| };
|
|
|
| +// BoilerplateDescription is a list of properties consisting of name value
|
| +// pairs. In addition to the properties, it provides the number of all
|
| +// properties. This number includes properties with computed names that are not
|
| +// in the list. We need the total number for allocating space in the property
|
| +// backing store.
|
| +class BoilerplateDescription : public FixedArray {
|
| + public:
|
| + // Number of boilerplate properties and properties with computed names.
|
| + int number_of_all_properties() const;
|
| +
|
| + // The number of boilerplate properties.
|
| + int size() const;
|
| +
|
| + Object* name(int index) const;
|
| + Object* value(int index) const;
|
| +
|
| + DECLARE_CAST(BoilerplateDescription)
|
| +
|
| + private:
|
| + bool has_number_of_properties() const;
|
| +};
|
|
|
| // FixedDoubleArray describes fixed-sized arrays with element type double.
|
| class FixedDoubleArray: public FixedArrayBase {
|
| @@ -6389,7 +6411,6 @@ class Map: public HeapObject {
|
| static const int kInstanceTypeAndBitFieldOffset =
|
| kInstanceAttributesOffset + 0;
|
| static const int kBitField2Offset = kInstanceAttributesOffset + 2;
|
| - static const int kUnusedPropertyFieldsByte = 3;
|
| static const int kUnusedPropertyFieldsOffset = kInstanceAttributesOffset + 3;
|
|
|
| STATIC_ASSERT(kInstanceTypeAndBitFieldOffset ==
|
|
|