| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index adaa9cfb793f92e4f99bb1cc51324c0cff347c8c..d34058d7e675e51f1bc1a41754465fb558bfc988 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -8585,6 +8585,13 @@ class PropertyCell: public Cell {
|
| // 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.
|
| + void SetValueInferType(Object* value,
|
| + WriteBarrierMode mode = UPDATE_WRITE_BARRIER);
|
| +
|
| // Casting.
|
| static inline PropertyCell* cast(Object* obj);
|
|
|
| @@ -8612,6 +8619,8 @@ class PropertyCell: public Cell {
|
|
|
| void AddDependentCode(Handle<Code> code);
|
|
|
| + Type* UpdateType(Object* value);
|
| +
|
| private:
|
| DECL_ACCESSORS(type_raw, Object)
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(PropertyCell);
|
|
|