aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/memory/qv4mm_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2018-08-26 15:07:50 +0200
committerSimon Hausmann <simon.hausmann@qt.io>2018-08-28 21:45:45 +0000
commit464b878b973710077b2b92b1682d6f38c83554dd (patch)
tree2577a70c9809bebc3776a0e11422badfdd310c90 /src/qml/memory/qv4mm_p.h
parentbead103138c0d9dff3c9f927c9c4e2f44ee7db4c (diff)
Implement support for WeakMap
Change-Id: Id23e80fe5918ba7dc897568123bf3db4d35e9092 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/memory/qv4mm_p.h')
-rw-r--r--src/qml/memory/qv4mm_p.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/qml/memory/qv4mm_p.h b/src/qml/memory/qv4mm_p.h
index e3a011caf9..da162d2dfe 100644
--- a/src/qml/memory/qv4mm_p.h
+++ b/src/qml/memory/qv4mm_p.h
@@ -274,6 +274,8 @@ public:
return static_cast<typename ManagedType::Data *>(b);
}
+ void registerWeakMap(Heap::MapObject *map);
+
protected:
/// expects size to be aligned
Heap::Base *allocString(std::size_t unmanagedSize);
@@ -296,6 +298,7 @@ public:
PersistentValueStorage *m_persistentValues;
PersistentValueStorage *m_weakValues;
QVector<Value *> m_pendingFreedObjectWrapperValue;
+ Heap::MapObject *weakMaps = nullptr;
std::size_t unmanagedHeapSize = 0; // the amount of bytes of heap that is not managed by the memory manager, but which is held onto by managed items.
std::size_t unmanagedHeapSizeGCLimit;