Reviewed by Darin.
authormjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 23 Apr 2007 07:44:39 +0000 (07:44 +0000)
committermjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 23 Apr 2007 07:44:39 +0000 (07:44 +0000)
        - fix more test case failures

        * bindings/runtime_array.cpp:
        (RuntimeArray::RuntimeArray): inherit from JSObject instead of ArrayInstance; it turns
        out that this class only needs the prototype and classInfo from ArrayInstance, not the
        actual class itself, and it was too big otherwise.
        (RuntimeArray::getOwnPropertySlot):
        * bindings/runtime_array.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@21024 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JavaScriptCore/ChangeLog
JavaScriptCore/bindings/runtime_array.cpp
JavaScriptCore/bindings/runtime_array.h

index 9e6903edcd9a9b3e776afc31772fb66bda8e4be7..7bb3af4c027221a49b3381df74863bc28847a9f7 100644 (file)
@@ -1,3 +1,16 @@
+2007-04-23  Maciej Stachowiak  <mjs@apple.com>
+
+        Reviewed by Darin.
+        
+        - fix more test case failures
+
+        * bindings/runtime_array.cpp:
+        (RuntimeArray::RuntimeArray): inherit from JSObject instead of ArrayInstance; it turns
+        out that this class only needs the prototype and classInfo from ArrayInstance, not the
+        actual class itself, and it was too big otherwise.
+        (RuntimeArray::getOwnPropertySlot):
+        * bindings/runtime_array.h:
+
 2007-04-23  Maciej Stachowiak  <mjs@apple.com>
 
         Reviewed by Darin.
 2007-04-23  Maciej Stachowiak  <mjs@apple.com>
 
         Reviewed by Darin.
index 2efae5f982ab2f9b6cde6db796b3e4c8b01df7dc..bf42a3569c4e13aac6d228ce0c1c3c5552784586 100644 (file)
@@ -31,7 +31,7 @@ using namespace KJS;
 const ClassInfo RuntimeArray::info = {"RuntimeArray", &ArrayInstance::info, 0, 0};
 
 RuntimeArray::RuntimeArray(ExecState *exec, Bindings::Array *a)
 const ClassInfo RuntimeArray::info = {"RuntimeArray", &ArrayInstance::info, 0, 0};
 
 RuntimeArray::RuntimeArray(ExecState *exec, Bindings::Array *a)
-    : ArrayInstance(exec->lexicalInterpreter()->builtinArrayPrototype(), a->getLength())
+    : JSObject(exec->lexicalInterpreter()->builtinArrayPrototype())
 {
     // Always takes ownership of concrete array.
     _array = a;
 {
     // Always takes ownership of concrete array.
     _array = a;
@@ -70,7 +70,7 @@ bool RuntimeArray::getOwnPropertySlot(ExecState* exec, const Identifier& propert
         }
     }
     
         }
     }
     
-    return ArrayInstance::getOwnPropertySlot(exec, propertyName, slot);
+    return JSObject::getOwnPropertySlot(exec, propertyName, slot);
 }
 
 bool RuntimeArray::getOwnPropertySlot(ExecState *exec, unsigned index, PropertySlot& slot)
 }
 
 bool RuntimeArray::getOwnPropertySlot(ExecState *exec, unsigned index, PropertySlot& slot)
@@ -80,7 +80,7 @@ bool RuntimeArray::getOwnPropertySlot(ExecState *exec, unsigned index, PropertyS
         return true;
     }
     
         return true;
     }
     
-    return ArrayInstance::getOwnPropertySlot(exec, index, slot);
+    return JSObject::getOwnPropertySlot(exec, index, slot);
 }
 
 void RuntimeArray::put(ExecState* exec, const Identifier& propertyName, JSValue* value, int attr)
 }
 
 void RuntimeArray::put(ExecState* exec, const Identifier& propertyName, JSValue* value, int attr)
index 9725172e346bc7f317882b4309202ad8510bf706..c4e6c43a00f013bc3a1e8189db061250b77dc853 100644 (file)
@@ -31,7 +31,7 @@
 
 namespace KJS {
     
 
 namespace KJS {
     
-class RuntimeArray : public ArrayInstance {
+class RuntimeArray : public JSObject {
 public:
     RuntimeArray(ExecState *exec, Bindings::Array *i);
     ~RuntimeArray();
 public:
     RuntimeArray(ExecState *exec, Bindings::Array *i);
     ~RuntimeArray();