summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/runtime/SparseArrayValueMap.h
diff options
context:
space:
mode:
authorKonstantin Tokarev <annulen@yandex.ru>2016-08-25 19:20:41 +0300
committerKonstantin Tokarev <annulen@yandex.ru>2017-02-02 12:30:55 +0000
commit6882a04fb36642862b11efe514251d32070c3d65 (patch)
treeb7959826000b061fd5ccc7512035c7478742f7b0 /Source/JavaScriptCore/runtime/SparseArrayValueMap.h
parentab6df191029eeeb0b0f16f127d553265659f739e (diff)
downloadqtwebkit-6882a04fb36642862b11efe514251d32070c3d65.tar.gz
Imported QtWebKit TP3 (git b57bc6801f1876c3220d5a4bfea33d620d477443)
Change-Id: I3b1d8a2808782c9f34d50240000e20cb38d3680f Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Source/JavaScriptCore/runtime/SparseArrayValueMap.h')
-rw-r--r--Source/JavaScriptCore/runtime/SparseArrayValueMap.h14
1 files changed, 5 insertions, 9 deletions
diff --git a/Source/JavaScriptCore/runtime/SparseArrayValueMap.h b/Source/JavaScriptCore/runtime/SparseArrayValueMap.h
index 31b279fa7..0754b53d9 100644
--- a/Source/JavaScriptCore/runtime/SparseArrayValueMap.h
+++ b/Source/JavaScriptCore/runtime/SparseArrayValueMap.h
@@ -32,7 +32,6 @@
#include "PutDirectIndexMode.h"
#include "WriteBarrier.h"
#include <wtf/HashMap.h>
-#include <wtf/Platform.h>
namespace JSC {
@@ -43,8 +42,7 @@ struct SparseArrayEntry : public WriteBarrier<Unknown> {
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;
@@ -52,12 +50,13 @@ struct SparseArrayEntry : public WriteBarrier<Unknown> {
unsigned attributes;
};
-class SparseArrayValueMap : public JSCell {
+class SparseArrayValueMap final : public JSCell {
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;
+ typedef HashMap<uint64_t, SparseArrayEntry, WTF::IntHash<uint64_t>, WTF::UnsignedWithZeroKeyHashTraits<uint64_t>> Map;
enum Flags {
Normal = 0,
@@ -70,10 +69,8 @@ private:
void finishCreation(VM&);
- static const unsigned StructureFlags = OverridesVisitChildren | JSCell::StructureFlags;
-
public:
- static JS_EXPORTDATA const ClassInfo s_info;
+ DECLARE_EXPORT_INFO;
typedef Map::iterator iterator;
typedef Map::const_iterator const_iterator;
@@ -82,7 +79,6 @@ public:
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);