]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - runtime/SparseArrayValueMap.h
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / runtime / SparseArrayValueMap.h
index 4e5326f767e030f19f4f1501f0464af218777cc7..ff36caa711f1bc3ed6768b1d5ab855eeae7de5ab 100644 (file)
@@ -51,9 +51,10 @@ struct SparseArrayEntry : public WriteBarrier<Unknown> {
     unsigned attributes;
 };
 
     unsigned attributes;
 };
 
-class SparseArrayValueMap : public JSCell {
+class SparseArrayValueMap final : public JSCell {
 public:
     typedef JSCell Base;
 public:
     typedef JSCell Base;
+    static const unsigned StructureFlags = Base::StructureFlags | StructureIsImmortal;
     
 private:
     typedef HashMap<uint64_t, SparseArrayEntry, WTF::IntHash<uint64_t>, WTF::UnsignedWithZeroKeyHashTraits<uint64_t>> Map;
     
 private:
     typedef HashMap<uint64_t, SparseArrayEntry, WTF::IntHash<uint64_t>, WTF::UnsignedWithZeroKeyHashTraits<uint64_t>> Map;
@@ -69,8 +70,6 @@ private:
     
     void finishCreation(VM&);
 
     
     void finishCreation(VM&);
 
-    static const unsigned StructureFlags = OverridesVisitChildren | StructureIsImmortal | JSCell::StructureFlags;
-
 public:
     DECLARE_EXPORT_INFO;
     
 public:
     DECLARE_EXPORT_INFO;
     
@@ -81,7 +80,6 @@ public:
     static SparseArrayValueMap* create(VM&);
     
     static const bool needsDestruction = true;
     static SparseArrayValueMap* create(VM&);
     
     static const bool needsDestruction = true;
-    static const bool hasImmortalStructure = true;
     static void destroy(JSCell*);
     
     static Structure* createStructure(VM&, JSGlobalObject*, JSValue prototype);
     static void destroy(JSCell*);
     
     static Structure* createStructure(VM&, JSGlobalObject*, JSValue prototype);