Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index 7fbc5d85599f53fa7a0078f3c0c6c02f16bef62e..b9dc4181c50b0a10d79bf7af43275089dbf0c47b 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -1813,7 +1813,7 @@ static Handle<Object> GetOwnProperty(Isolate* isolate, |
case ACCESS_ABSENT: return factory->undefined_value(); |
} |
- PropertyAttributes attrs = obj->GetLocalPropertyAttribute(*name); |
+ PropertyAttributes attrs = JSReceiver::GetLocalPropertyAttribute(obj, name); |
if (attrs == ABSENT) { |
RETURN_HANDLE_IF_SCHEDULED_EXCEPTION(isolate, Object); |
return factory->undefined_value(); |
@@ -2061,8 +2061,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DeclareGlobals) { |
// We found an existing property. Unless it was an interceptor |
// that claims the property is absent, skip this declaration. |
if (!lookup.IsInterceptor()) continue; |
- PropertyAttributes attributes = global->GetPropertyAttribute(*name); |
- if (attributes != ABSENT) continue; |
+ if (JSReceiver::GetPropertyAttribute(global, name) != ABSENT) continue; |
// Fall-through and introduce the absent property by using |
// SetProperty. |
} |
@@ -2252,15 +2251,15 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeVarGlobal) { |
LookupResult lookup(isolate); |
isolate->context()->global_object()->LocalLookup(*name, &lookup, true); |
if (lookup.IsInterceptor()) { |
+ Handle<JSObject> holder(lookup.holder()); |
PropertyAttributes intercepted = |
- lookup.holder()->GetPropertyAttribute(*name); |
+ JSReceiver::GetPropertyAttribute(holder, name); |
if (intercepted != ABSENT && (intercepted & READ_ONLY) == 0) { |
// Found an interceptor that's not read only. |
if (assign) { |
CONVERT_ARG_HANDLE_CHECKED(Object, value, 2); |
Handle<Object> result = JSObject::SetPropertyForResult( |
- handle(lookup.holder()), &lookup, name, value, attributes, |
- strict_mode); |
+ holder, &lookup, name, value, attributes, strict_mode); |
RETURN_IF_EMPTY_HANDLE(isolate, result); |
return *result; |
} else { |
@@ -5644,13 +5643,13 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_HasElement) { |
RUNTIME_FUNCTION(MaybeObject*, Runtime_IsPropertyEnumerable) { |
- SealHandleScope shs(isolate); |
+ HandleScope scope(isolate); |
ASSERT(args.length() == 2); |
- CONVERT_ARG_CHECKED(JSObject, object, 0); |
- CONVERT_ARG_CHECKED(Name, key, 1); |
+ CONVERT_ARG_HANDLE_CHECKED(JSObject, object, 0); |
+ CONVERT_ARG_HANDLE_CHECKED(Name, key, 1); |
- PropertyAttributes att = object->GetLocalPropertyAttribute(key); |
+ PropertyAttributes att = JSReceiver::GetLocalPropertyAttribute(object, key); |
if (att == ABSENT || (att & DONT_ENUM) != 0) { |
RETURN_IF_SCHEDULED_EXCEPTION(isolate); |
return isolate->heap()->false_value(); |
@@ -5800,7 +5799,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetLocalPropertyNames) { |
next_copy_index += local_property_count[i]; |
// Hidden properties only show up if the filter does not skip strings. |
- if ((filter & STRING) == 0 && jsproto->HasHiddenProperties()) { |
+ if ((filter & STRING) == 0 && JSObject::HasHiddenProperties(jsproto)) { |
hidden_strings++; |
} |
if (i < length - 1) { |
@@ -9339,7 +9338,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StoreContextSlot) { |
// Set the property if it's not read only or doesn't yet exist. |
if ((attributes & READ_ONLY) == 0 || |
- (object->GetLocalPropertyAttribute(*name) == ABSENT)) { |
+ (JSReceiver::GetLocalPropertyAttribute(object, name) == ABSENT)) { |
RETURN_IF_EMPTY_HANDLE( |
isolate, |
JSReceiver::SetProperty(object, name, value, NONE, strict_mode)); |