Index: src/runtime/runtime-object.cc |
diff --git a/src/runtime/runtime-object.cc b/src/runtime/runtime-object.cc |
index 9bef97df2ac737079d50cc449cdc066db3b68965..369432f9090337533528daa22a8f78c2782c28f9 100644 |
--- a/src/runtime/runtime-object.cc |
+++ b/src/runtime/runtime-object.cc |
@@ -18,7 +18,7 @@ namespace internal { |
MaybeHandle<Object> Runtime::GetObjectProperty(Isolate* isolate, |
Handle<Object> object, |
Handle<Object> key) { |
- if (object->IsUndefined() || object->IsNull()) { |
+ if (object->IsUndefined(isolate) || object->IsNull()) { |
THROW_NEW_ERROR( |
isolate, |
NewTypeError(MessageTemplate::kNonObjectPropertyLoad, key, object), |
@@ -62,7 +62,9 @@ static MaybeHandle<Object> KeyedGetObjectProperty(Isolate* isolate, |
PropertyCell* cell = PropertyCell::cast(dictionary->ValueAt(entry)); |
if (cell->property_details().type() == DATA) { |
Object* value = cell->value(); |
- if (!value->IsTheHole()) return Handle<Object>(value, isolate); |
+ if (!value->IsTheHole(isolate)) { |
+ return Handle<Object>(value, isolate); |
+ } |
// If value is the hole (meaning, absent) do the general lookup. |
} |
} |
@@ -194,7 +196,7 @@ RUNTIME_FUNCTION(Runtime_ObjectHasOwnProperty) { |
key_is_array_index |
? index < static_cast<uint32_t>(String::cast(*object)->length()) |
: key->Equals(isolate->heap()->length_string())); |
- } else if (object->IsNull() || object->IsUndefined()) { |
+ } else if (object->IsNull() || object->IsUndefined(isolate)) { |
THROW_NEW_ERROR_RETURN_FAILURE( |
isolate, NewTypeError(MessageTemplate::kUndefinedOrNullToObject)); |
} |
@@ -207,7 +209,7 @@ MaybeHandle<Object> Runtime::SetObjectProperty(Isolate* isolate, |
Handle<Object> key, |
Handle<Object> value, |
LanguageMode language_mode) { |
- if (object->IsUndefined() || object->IsNull()) { |
+ if (object->IsUndefined(isolate) || object->IsNull()) { |
THROW_NEW_ERROR( |
isolate, |
NewTypeError(MessageTemplate::kNonObjectPropertyStore, key, object), |
@@ -670,9 +672,8 @@ RUNTIME_FUNCTION(Runtime_IsJSGlobalProxy) { |
return isolate->heap()->ToBoolean(obj->IsJSGlobalProxy()); |
} |
- |
-static bool IsValidAccessor(Handle<Object> obj) { |
- return obj->IsUndefined() || obj->IsCallable() || obj->IsNull(); |
+static bool IsValidAccessor(Isolate* isolate, Handle<Object> obj) { |
+ return obj->IsUndefined(isolate) || obj->IsCallable() || obj->IsNull(); |
} |
@@ -689,9 +690,9 @@ RUNTIME_FUNCTION(Runtime_DefineAccessorPropertyUnchecked) { |
RUNTIME_ASSERT(!obj->IsNull()); |
CONVERT_ARG_HANDLE_CHECKED(Name, name, 1); |
CONVERT_ARG_HANDLE_CHECKED(Object, getter, 2); |
- RUNTIME_ASSERT(IsValidAccessor(getter)); |
+ RUNTIME_ASSERT(IsValidAccessor(isolate, getter)); |
CONVERT_ARG_HANDLE_CHECKED(Object, setter, 3); |
- RUNTIME_ASSERT(IsValidAccessor(setter)); |
+ RUNTIME_ASSERT(IsValidAccessor(isolate, setter)); |
CONVERT_PROPERTY_ATTRIBUTES_CHECKED(attrs, 4); |
RETURN_FAILURE_ON_EXCEPTION( |