diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2017-01-03 13:19:15 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2017-01-31 17:09:26 +0000 |
commit | eeb08d9537d0b4e77b91848169e0bb79ec3d912c (patch) | |
tree | 9eddd4e394a86cda373e11eba36040647bbc8b02 /src/qml/compiler/qqmlirbuilder_p.h | |
parent | 27c678cea66e3ab092b6788b6e403c232677041f (diff) |
Re-do QML type compilation of ahead-of-time generated QML cache files
As we currently lack the ability to do type resolution at AOT cache
generation time, we need to re-do the work after loading the cache file,
making us essentially only re-use the code and avoiding the step of
parsing.
Change-Id: I12844692d4766345d8a313b59d21abf1f868e2d1
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/compiler/qqmlirbuilder_p.h')
-rw-r--r-- | src/qml/compiler/qqmlirbuilder_p.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/qml/compiler/qqmlirbuilder_p.h b/src/qml/compiler/qqmlirbuilder_p.h index 95756845c3..2022112e07 100644 --- a/src/qml/compiler/qqmlirbuilder_p.h +++ b/src/qml/compiler/qqmlirbuilder_p.h @@ -622,6 +622,21 @@ private: int _importedScriptsTemp; }; +struct IRLoader { + IRLoader(const QV4::CompiledData::Unit *unit, QmlIR::Document *output); + + void load(); + +private: + QmlIR::Object *loadObject(const QV4::CompiledData::Object *serializedObject); + + template <typename _Tp> _Tp *New() { return pool->New<_Tp>(); } + + const QV4::CompiledData::Unit *unit; + QmlIR::Document *output; + QQmlJS::MemoryPool *pool; +}; + } // namespace QmlIR QT_END_NAMESPACE |