]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - runtime/SparseArrayValueMap.h
JavaScriptCore-7600.1.4.9.tar.gz
[apple/javascriptcore.git] / runtime / SparseArrayValueMap.h
index 31b279fa7a66d996825cbf0eb5126263e2cffcf5..4e5326f767e030f19f4f1501f0464af218777cc7 100644 (file)
@@ -32,7 +32,6 @@
 #include "PutDirectIndexMode.h"
 #include "WriteBarrier.h"
 #include <wtf/HashMap.h>
 #include "PutDirectIndexMode.h"
 #include "WriteBarrier.h"
 #include <wtf/HashMap.h>
-#include <wtf/Platform.h>
 
 namespace JSC {
 
 
 namespace JSC {
 
@@ -44,7 +43,7 @@ struct SparseArrayEntry : public WriteBarrier<Unknown> {
     SparseArrayEntry() : attributes(0) { }
 
     JSValue get(ExecState*, JSObject*) const;
     SparseArrayEntry() : attributes(0) { }
 
     JSValue get(ExecState*, JSObject*) const;
-    void get(PropertySlot&) const;
+    void get(JSObject*, PropertySlot&) const;
     void get(PropertyDescriptor&) const;
     void put(ExecState*, JSValue thisValue, SparseArrayValueMap*, JSValue, bool shouldThrow);
     JSValue getNonSparseMode() const;
     void get(PropertyDescriptor&) const;
     void put(ExecState*, JSValue thisValue, SparseArrayValueMap*, JSValue, bool shouldThrow);
     JSValue getNonSparseMode() const;
@@ -57,7 +56,7 @@ public:
     typedef JSCell Base;
     
 private:
     typedef JSCell Base;
     
 private:
-    typedef HashMap<uint64_t, SparseArrayEntry, WTF::IntHash<uint64_t>, WTF::UnsignedWithZeroKeyHashTraits<uint64_t> > Map;
+    typedef HashMap<uint64_t, SparseArrayEntry, WTF::IntHash<uint64_t>, WTF::UnsignedWithZeroKeyHashTraits<uint64_t>> Map;
 
     enum Flags {
         Normal = 0,
 
     enum Flags {
         Normal = 0,
@@ -70,10 +69,10 @@ private:
     
     void finishCreation(VM&);
 
     
     void finishCreation(VM&);
 
-    static const unsigned StructureFlags = OverridesVisitChildren | JSCell::StructureFlags;
+    static const unsigned StructureFlags = OverridesVisitChildren | StructureIsImmortal | JSCell::StructureFlags;
 
 public:
 
 public:
-    static JS_EXPORTDATA const ClassInfo s_info;
+    DECLARE_EXPORT_INFO;
     
     typedef Map::iterator iterator;
     typedef Map::const_iterator const_iterator;
     
     typedef Map::iterator iterator;
     typedef Map::const_iterator const_iterator;