Extend the interceptor setter ASSERT to support the JSGlobalProxy case.

BUG=v8:3463
LOG=n
R=dcarney@chromium.org

Review URL: https://codereview.chromium.org/415973004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
verwaest@chromium.org 2014-07-24 09:31:45 +00:00
parent 4c345d38bd
commit b6f61b14dc

View File

@ -606,7 +606,16 @@ RUNTIME_FUNCTION(StoreInterceptorProperty) {
Handle<JSObject> receiver = args.at<JSObject>(0);
Handle<Name> name = args.at<Name>(1);
Handle<Object> value = args.at<Object>(2);
ASSERT(receiver->HasNamedInterceptor());
#ifdef DEBUG
if (receiver->IsJSGlobalProxy()) {
PrototypeIterator iter(isolate, receiver);
ASSERT(iter.IsAtEnd() ||
Handle<JSGlobalObject>::cast(PrototypeIterator::GetCurrent(iter))
->HasNamedInterceptor());
} else {
ASSERT(receiver->HasNamedInterceptor());
}
#endif
Handle<Object> result;
ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
isolate, result,