| 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);
 | 
|  };
 | 
|  
 | 
| 
 |