| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index c42e0e134b1e69b6f79e4779ad3e4f5429405d3e..ccc36639b2fd214899adfdb21bd62f0152b957fe 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -9726,44 +9726,33 @@ class Cell: public HeapObject {
|
|
|
| class PropertyCell: public Cell {
|
| public:
|
| - // [type]: type of the global property.
|
| - HeapType* type();
|
| - void set_type(HeapType* value, WriteBarrierMode mode = UPDATE_WRITE_BARRIER);
|
| -
|
| // [dependent_code]: dependent code that depends on the type of the global
|
| // property.
|
| DECL_ACCESSORS(dependent_code, DependentCode)
|
|
|
| - // Sets the value of the cell and updates the type field to be the union
|
| - // of the cell's current type and the value's type. If the change causes
|
| - // a change of the type of the cell's contents, code dependent on the cell
|
| - // will be deoptimized.
|
| - // Usually returns the value that was passed in, but may perform
|
| - // non-observable modifications on it, such as internalize strings.
|
| - static Handle<Object> SetValueInferType(Handle<PropertyCell> cell,
|
| - Handle<Object> value);
|
| -
|
| // Computes the new type of the cell's contents for the given value, but
|
| - // without actually modifying the 'type' field.
|
| - static Handle<HeapType> UpdatedType(Handle<PropertyCell> cell,
|
| - Handle<Object> value);
|
| + // without actually modifying the details.
|
| + static PropertyCellType UpdatedType(Handle<PropertyCell> cell,
|
| + Handle<Object> value,
|
| + PropertyDetails details);
|
| + static Handle<Object> UpdateCell(Handle<NameDictionary> dictionary, int entry,
|
| + Handle<Object> value,
|
| + PropertyDetails details);
|
| +
|
| + static Handle<PropertyCell> InvalidateEntry(Handle<NameDictionary> dictionary,
|
| + int entry);
|
|
|
| static void AddDependentCompilationInfo(Handle<PropertyCell> cell,
|
| CompilationInfo* info);
|
|
|
| DECLARE_CAST(PropertyCell)
|
|
|
| - inline Address TypeAddress() {
|
| - return address() + kTypeOffset;
|
| - }
|
| -
|
| // Dispatched behavior.
|
| DECLARE_PRINTER(PropertyCell)
|
| DECLARE_VERIFIER(PropertyCell)
|
|
|
| // Layout description.
|
| - static const int kTypeOffset = kValueOffset + kPointerSize;
|
| - static const int kDependentCodeOffset = kTypeOffset + kPointerSize;
|
| + static const int kDependentCodeOffset = kValueOffset + kPointerSize;
|
| static const int kSize = kDependentCodeOffset + kPointerSize;
|
|
|
| static const int kPointerFieldsBeginOffset = kValueOffset;
|
| @@ -9774,7 +9763,6 @@ class PropertyCell: public Cell {
|
| kSize> BodyDescriptor;
|
|
|
| private:
|
| - DECL_ACCESSORS(type_raw, Object)
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(PropertyCell);
|
| };
|
|
|
|
|