| Index: src/bootstrapper.cc
|
| diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc
|
| index bfd9f5e918fd247778372daf947a722e83ab1064..b7e7ef614faf63fe9177e9600218c2504a4adeb5 100644
|
| --- a/src/bootstrapper.cc
|
| +++ b/src/bootstrapper.cc
|
| @@ -2445,11 +2445,10 @@ void Genesis::TransferNamedProperties(Handle<JSObject> from,
|
| break;
|
| }
|
| case CALLBACKS: {
|
| - LookupResult result(isolate());
|
| - Handle<Name> key(Name::cast(descs->GetKey(i)), isolate());
|
| - to->LookupOwn(key, &result);
|
| + Handle<Name> key(descs->GetKey(i));
|
| + LookupIterator it(to, key, LookupIterator::CHECK_PROPERTY);
|
| // If the property is already there we skip it
|
| - if (result.IsFound()) continue;
|
| + if (it.IsFound() && it.HasProperty()) continue;
|
| HandleScope inner(isolate());
|
| DCHECK(!to->HasFastProperties());
|
| // Add to dictionary.
|
| @@ -2478,10 +2477,9 @@ void Genesis::TransferNamedProperties(Handle<JSObject> from,
|
| if (properties->IsKey(raw_key)) {
|
| DCHECK(raw_key->IsName());
|
| // If the property is already there we skip it.
|
| - LookupResult result(isolate());
|
| Handle<Name> key(Name::cast(raw_key));
|
| - to->LookupOwn(key, &result);
|
| - if (result.IsFound()) continue;
|
| + LookupIterator it(to, key, LookupIterator::CHECK_PROPERTY);
|
| + if (it.IsFound() && it.HasProperty()) continue;
|
| // Set the property.
|
| Handle<Object> value = Handle<Object>(properties->ValueAt(i),
|
| isolate());
|
|
|