aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4executablecompilationunit_p.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2024-01-05 15:25:39 +0100
committerUlf Hermann <ulf.hermann@qt.io>2024-01-11 00:42:17 +0100
commit809292e9b801fb5eb47dd7049bddc0fd776ab872 (patch)
tree01a772029dc20293dd278476f7347b0d064df36e /src/qml/jsruntime/qv4executablecompilationunit_p.h
parent7a9a778604a03473b6c4ef8a481ba3cc06d48265 (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.h12
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);