| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index aa180cc57569bafb99106879683dd38673fc29c2..ed3f3822eb6ac3efcdac9c01350844b4c5f7a9e5 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -5204,13 +5204,6 @@ void JSObject::AddProperty(Handle<JSObject> object, Handle<Name> name,
|
| }
|
|
|
|
|
| -// static
|
| -void AccessorInfo::ClearSetter(Handle<AccessorInfo> info) {
|
| - Handle<Object> object = v8::FromCData(info->GetIsolate(), nullptr);
|
| - info->set_setter(*object);
|
| -}
|
| -
|
| -
|
| // Reconfigures a property to a data property with attributes, even if it is not
|
| // reconfigurable.
|
| // Requires a LookupIterator that does not look at the prototype chain beyond
|
| @@ -5279,15 +5272,7 @@ Maybe<bool> JSObject::DefineOwnPropertyIgnoreAttributes(
|
| if (details.attributes() == attributes) return Just(true);
|
|
|
| // Reconfigure the accessor if attributes mismatch.
|
| - Handle<AccessorInfo> new_data = Accessors::CloneAccessor(
|
| - it->isolate(), Handle<AccessorInfo>::cast(accessors));
|
| - new_data->set_property_attributes(attributes);
|
| - // By clearing the setter we don't have to introduce a lookup to
|
| - // the setter, simply make it unavailable to reflect the
|
| - // attributes.
|
| - if (attributes & READ_ONLY) AccessorInfo::ClearSetter(new_data);
|
| -
|
| - it->TransitionToAccessorPair(new_data, attributes);
|
| + it->TransitionToAccessorPair(accessors, attributes);
|
| } else {
|
| it->ReconfigureDataProperty(value, attributes);
|
| }
|
|
|