| Index: src/stub-cache.cc
|
| diff --git a/src/stub-cache.cc b/src/stub-cache.cc
|
| index 4a7a7a69a0802f1c105818029846144fec3d1e11..620060533152c8e526025adb8649143e1d0ff134 100644
|
| --- a/src/stub-cache.cc
|
| +++ b/src/stub-cache.cc
|
| @@ -614,14 +614,18 @@ RUNTIME_FUNCTION(StorePropertyWithInterceptor) {
|
| Handle<Name> name = args.at<Name>(1);
|
| Handle<Object> value = args.at<Object>(2);
|
| #ifdef DEBUG
|
| - if (receiver->IsJSGlobalProxy()) {
|
| - PrototypeIterator iter(isolate, receiver);
|
| - DCHECK(iter.IsAtEnd() ||
|
| - Handle<JSGlobalObject>::cast(PrototypeIterator::GetCurrent(iter))
|
| - ->HasNamedInterceptor());
|
| - } else {
|
| - DCHECK(receiver->HasNamedInterceptor());
|
| + PrototypeIterator iter(isolate, receiver,
|
| + PrototypeIterator::START_AT_RECEIVER);
|
| + bool found = false;
|
| + while (!iter.IsAtEnd(PrototypeIterator::END_AT_NON_HIDDEN)) {
|
| + Handle<Object> current = PrototypeIterator::GetCurrent(iter);
|
| + if (current->IsJSObject() &&
|
| + Handle<JSObject>::cast(current)->HasNamedInterceptor()) {
|
| + found = true;
|
| + break;
|
| + }
|
| }
|
| + DCHECK(found);
|
| #endif
|
| Handle<Object> result;
|
| ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| @@ -1007,8 +1011,8 @@ Handle<Code> NamedStoreHandlerCompiler::CompileStoreTransition(
|
| }
|
|
|
|
|
| -Handle<Code> NamedStoreHandlerCompiler::CompileStoreField(LookupResult* lookup,
|
| - Handle<Name> name) {
|
| +Handle<Code> NamedStoreHandlerCompiler::CompileStoreField(
|
| + LookupIterator* lookup, Handle<Name> name) {
|
| Label miss;
|
| GenerateStoreField(lookup, value(), &miss);
|
| __ bind(&miss);
|
|
|