diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2024-01-05 15:25:39 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2024-01-11 00:42:17 +0100 |
commit | 809292e9b801fb5eb47dd7049bddc0fd776ab872 (patch) | |
tree | 01a772029dc20293dd278476f7347b0d064df36e /src/qml/jsruntime/qv4executablecompilationunit_p.h | |
parent | 7a9a778604a03473b6c4ef8a481ba3cc06d48265 (diff) |
QtQml: Move creation of ExecutableCompilationUnit into engine
This is in preparation for letting the engine cache the executable CUs.
Change-Id: Ideac10d8dda0784b41304b58f9b9fbd106173ea6
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4executablecompilationunit_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4executablecompilationunit_p.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/qml/jsruntime/qv4executablecompilationunit_p.h b/src/qml/jsruntime/qv4executablecompilationunit_p.h index 4f79f12030..b4379707f3 100644 --- a/src/qml/jsruntime/qv4executablecompilationunit_p.h +++ b/src/qml/jsruntime/qv4executablecompilationunit_p.h @@ -99,10 +99,6 @@ public: friend class QQmlRefCounted<ExecutableCompilationUnit>; friend class QQmlRefPointer<ExecutableCompilationUnit>; - static QQmlRefPointer<ExecutableCompilationUnit> create( - QQmlRefPointer<CompiledData::CompilationUnit> &&compilationUnit, - ExecutionEngine *engine); - QIntrusiveListNode nextCompilationUnit; ExecutionEngine *engine = nullptr; @@ -289,7 +285,7 @@ public: void evaluate(); void evaluateModuleRequests(); - void markObjects(MarkStack *markStack); + void markObjects(MarkStack *markStack) const; QString bindingValueAsString(const CompiledData::Binding *binding) const; double bindingValueAsNumber(const CompiledData::Binding *binding) const @@ -344,6 +340,8 @@ protected: { return unitData()->stringTableSize; } private: + friend struct ExecutionEngine; + QQmlRefPointer<CompiledData::CompilationUnit> m_compilationUnit; Heap::Module *m_module = nullptr; @@ -360,6 +358,10 @@ private: ExecutableCompilationUnit(QQmlRefPointer<CompiledData::CompilationUnit> &&compilationUnit); ~ExecutableCompilationUnit(); + static QQmlRefPointer<ExecutableCompilationUnit> create( + QQmlRefPointer<CompiledData::CompilationUnit> &&compilationUnit, + ExecutionEngine *engine); + const Value *resolveExportRecursively(QV4::String *exportName, QVector<ResolveSetEntry> *resolveSet); |