| Index: src/lookup.cc
|
| diff --git a/src/lookup.cc b/src/lookup.cc
|
| index 7cc2666f964f7eca3f3ad3e4d521ab9f2362b82f..6c73244843908b6396f58afd3175d9c1b8763a13 100644
|
| --- a/src/lookup.cc
|
| +++ b/src/lookup.cc
|
| @@ -370,11 +370,10 @@ void LookupIterator::Delete() {
|
| state_ = NOT_FOUND;
|
| }
|
|
|
| -
|
| void LookupIterator::TransitionToAccessorProperty(
|
| - AccessorComponent component, Handle<Object> accessor,
|
| + Handle<Object> getter, Handle<Object> setter,
|
| PropertyAttributes attributes) {
|
| - DCHECK(!accessor->IsNull());
|
| + DCHECK(!getter->IsNull() || !setter->IsNull());
|
| // Can only be called when the receiver is a JSObject. JSProxy has to be
|
| // handled via a trap. Adding properties to primitive values is not
|
| // observable.
|
| @@ -393,7 +392,7 @@ void LookupIterator::TransitionToAccessorProperty(
|
| IsFound() ? static_cast<int>(number_) : DescriptorArray::kNotFound;
|
|
|
| Handle<Map> new_map = Map::TransitionToAccessorProperty(
|
| - old_map, name_, descriptor, component, accessor, attributes);
|
| + isolate_, old_map, name_, descriptor, getter, setter, attributes);
|
| bool simple_transition = new_map->GetBackPointer() == receiver->map();
|
| JSObject::MigrateToMap(receiver, new_map);
|
|
|
| @@ -413,18 +412,18 @@ void LookupIterator::TransitionToAccessorProperty(
|
| if (state() == ACCESSOR && GetAccessors()->IsAccessorPair()) {
|
| pair = Handle<AccessorPair>::cast(GetAccessors());
|
| // If the component and attributes are identical, nothing has to be done.
|
| - if (pair->get(component) == *accessor) {
|
| + if (pair->Equals(*getter, *setter)) {
|
| if (property_details().attributes() == attributes) {
|
| if (!IsElement()) JSObject::ReoptimizeIfPrototype(receiver);
|
| return;
|
| }
|
| } else {
|
| pair = AccessorPair::Copy(pair);
|
| - pair->set(component, *accessor);
|
| + pair->SetComponents(*getter, *setter);
|
| }
|
| } else {
|
| pair = factory()->NewAccessorPair();
|
| - pair->set(component, *accessor);
|
| + pair->SetComponents(*getter, *setter);
|
| }
|
|
|
| TransitionToAccessorPair(pair, attributes);
|
|
|