Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index db87b94ee3f502357c0942d1e46fc1a82c8d8f9f..b3e7b2838cce114966e863a25337ed07503808d3 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -807,13 +807,19 @@ MaybeObject* Object::GetProperty(Object* receiver, |
LookupResult* result, |
Name* name, |
PropertyAttributes* attributes) { |
- // Make sure that the top context does not change when doing |
- // callbacks or interceptor calls. |
- AssertNoContextChangeWithHandleScope ncc; |
- |
Isolate* isolate = name->GetIsolate(); |
Heap* heap = isolate->heap(); |
+#ifdef DEBUG |
+ // TODO(mstarzinger): Only because of the AssertNoContextChange, drop as soon |
+ // as this method has been fully handlified. |
+ HandleScope scope(isolate); |
+#endif |
+ |
+ // Make sure that the top context does not change when doing |
+ // callbacks or interceptor calls. |
+ AssertNoContextChange ncc(isolate); |
+ |
// Traverse the prototype chain from the current object (this) to |
// the holder and check for access rights. This avoids traversing the |
// objects more than once in case of interceptors, because the |
@@ -3910,7 +3916,7 @@ Handle<Object> JSObject::SetPropertyForResult(Handle<JSObject> object, |
// Make sure that the top context does not change when doing callbacks or |
// interceptor calls. |
- AssertNoContextChange ncc; |
+ AssertNoContextChange ncc(isolate); |
// Optimization for 2-byte strings often used as keys in a decompression |
// dictionary. We internalize these short keys to avoid constantly |
@@ -4068,7 +4074,7 @@ Handle<Object> JSObject::SetLocalPropertyIgnoreAttributes( |
// Make sure that the top context does not change when doing callbacks or |
// interceptor calls. |
- AssertNoContextChange ncc; |
+ AssertNoContextChange ncc(isolate); |
LookupResult lookup(isolate); |
object->LocalLookup(*name, &lookup, true); |
@@ -4202,7 +4208,7 @@ PropertyAttributes JSObject::GetPropertyAttributeWithInterceptor( |
// Make sure that the top context does not change when doing |
// callbacks or interceptor calls. |
- AssertNoContextChange ncc; |
+ AssertNoContextChange ncc(isolate); |
Handle<InterceptorInfo> interceptor(GetNamedInterceptor()); |
Handle<JSObject> receiver_handle(receiver); |
@@ -4337,7 +4343,7 @@ PropertyAttributes JSObject::GetElementAttributeWithInterceptor( |
// Make sure that the top context does not change when doing |
// callbacks or interceptor calls. |
- AssertNoContextChange ncc; |
+ AssertNoContextChange ncc(isolate); |
Handle<InterceptorInfo> interceptor(GetIndexedInterceptor()); |
Handle<JSReceiver> hreceiver(receiver); |
@@ -5047,7 +5053,7 @@ Handle<Object> JSObject::DeleteElementWithInterceptor(Handle<JSObject> object, |
// Make sure that the top context does not change when doing |
// callbacks or interceptor calls. |
- AssertNoContextChange ncc; |
+ AssertNoContextChange ncc(isolate); |
Handle<InterceptorInfo> interceptor(object->GetIndexedInterceptor()); |
if (interceptor->deleter()->IsUndefined()) return factory->false_value(); |
@@ -6177,7 +6183,7 @@ void JSObject::DefineAccessor(Handle<JSObject> object, |
// Make sure that the top context does not change when doing callbacks or |
// interceptor calls. |
- AssertNoContextChange ncc; |
+ AssertNoContextChange ncc(isolate); |
// Try to flatten before operating on the string. |
if (name->IsString()) String::cast(*name)->TryFlatten(); |
@@ -6363,7 +6369,7 @@ Handle<Object> JSObject::SetAccessor(Handle<JSObject> object, |
// Make sure that the top context does not change when doing callbacks or |
// interceptor calls. |
- AssertNoContextChange ncc; |
+ AssertNoContextChange ncc(isolate); |
// Try to flatten before operating on the string. |
if (name->IsString()) FlattenString(Handle<String>::cast(name)); |
@@ -6429,7 +6435,7 @@ Handle<Object> JSObject::GetAccessor(Handle<JSObject> object, |
// Make sure that the top context does not change when doing callbacks or |
// interceptor calls. |
- AssertNoContextChange ncc; |
+ AssertNoContextChange ncc(isolate); |
// Check access rights if needed. |
if (object->IsAccessCheckNeeded() && |
@@ -11685,7 +11691,7 @@ MaybeObject* JSObject::SetElementWithInterceptor(uint32_t index, |
// Make sure that the top context does not change when doing |
// callbacks or interceptor calls. |
- AssertNoContextChange ncc; |
+ AssertNoContextChange ncc(isolate); |
Handle<InterceptorInfo> interceptor(GetIndexedInterceptor()); |
Handle<JSObject> this_handle(this); |
@@ -12697,7 +12703,7 @@ MaybeObject* JSObject::GetElementWithInterceptor(Object* receiver, |
// Make sure that the top context does not change when doing |
// callbacks or interceptor calls. |
- AssertNoContextChange ncc; |
+ AssertNoContextChange ncc(isolate); |
Handle<InterceptorInfo> interceptor(GetIndexedInterceptor(), isolate); |
Handle<Object> this_handle(receiver, isolate); |