}
+Handle<Object> JSObject::GetNormalizedProperty(Handle<JSObject> object,
+ const LookupResult* result) {
+ DCHECK(!object->HasFastProperties());
+ Isolate* isolate = object->GetIsolate();
+ Handle<Object> value(
+ object->property_dictionary()->ValueAt(result->GetDictionaryEntry()),
+ isolate);
+ if (object->IsGlobalObject()) {
+ value = handle(Handle<PropertyCell>::cast(value)->value(), isolate);
+ DCHECK(!value->IsTheHole());
+ }
+ DCHECK(!value->IsPropertyCell() && !value->IsCell());
+ return value;
+}
+
+
void JSObject::SetNormalizedProperty(Handle<JSObject> object,
Handle<Name> name,
Handle<Object> value,
// Retrieve a value in a normalized object given a lookup result.
// Handles the special representation of JS global objects.
Object* GetNormalizedProperty(const LookupResult* result);
+ static Handle<Object> GetNormalizedProperty(Handle<JSObject> object,
+ const LookupResult* result);
// Sets the property value in a normalized object given (key, value, details).
// Handles the special representation of JS global objects.