Revert "Get rid of dead version of GetNormalizedProperty"
authorverwaest@chromium.org <verwaest@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 19 Aug 2014 08:14:01 +0000 (08:14 +0000)
committerverwaest@chromium.org <verwaest@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 19 Aug 2014 08:14:01 +0000 (08:14 +0000)
(Doh, landed too early)

R=jkummerow@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/objects.cc
src/objects.h

index f542480..52f858f 100644 (file)
@@ -630,6 +630,22 @@ Object* JSObject::GetNormalizedProperty(const LookupResult* result) {
 }
 
 
+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,
index a954aab..9306090 100644 (file)
@@ -2157,6 +2157,8 @@ class JSObject: public JSReceiver {
   // 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.