| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index 9933e9c61497c8d3307ea4643cc96b65bc0eca07..50a1ef2d3e600723f4a09375768bfebc7684faec 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -14675,6 +14675,25 @@ Handle<Object> ExternalFloat64Array::SetValue(
|
| }
|
|
|
|
|
| +void GlobalObject::InvalidatePropertyCell(Handle<GlobalObject> global,
|
| + Handle<Name> name) {
|
| + DCHECK(!global->HasFastProperties());
|
| + Isolate* isolate = global->GetIsolate();
|
| + int entry = global->property_dictionary()->FindEntry(name);
|
| + if (entry != NameDictionary::kNotFound) {
|
| + Handle<PropertyCell> cell(
|
| + PropertyCell::cast(global->property_dictionary()->ValueAt(entry)));
|
| +
|
| + Handle<Object> value(cell->value(), isolate);
|
| + Handle<PropertyCell> new_cell = isolate->factory()->NewPropertyCell(value);
|
| + global->property_dictionary()->ValueAtPut(entry, *new_cell);
|
| +
|
| + Handle<Object> hole = global->GetIsolate()->factory()->the_hole_value();
|
| + PropertyCell::SetValueInferType(cell, hole);
|
| + }
|
| +}
|
| +
|
| +
|
| Handle<PropertyCell> JSGlobalObject::EnsurePropertyCell(
|
| Handle<JSGlobalObject> global,
|
| Handle<Name> name) {
|
|
|