summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/runtime/SparseArrayValueMap.h
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-05-30 12:48:17 +0200
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-05-30 12:48:17 +0200
commit881da28418d380042aa95a97f0cbd42560a64f7c (patch)
treea794dff3274695e99c651902dde93d934ea7a5af /Source/JavaScriptCore/runtime/SparseArrayValueMap.h
parent7e104c57a70fdf551bb3d22a5d637cdcbc69dbea (diff)
parent0fcedcd17cc00d3dd44c718b3cb36c1033319671 (diff)
downloadqtwebkit-881da28418d380042aa95a97f0cbd42560a64f7c.tar.gz
Merge 'wip/next' into dev
Change-Id: Iff9ee5e23bb326c4371ec8ed81d56f2f05d680e9
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);