diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2013-09-01 13:11:00 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-05 20:26:42 +0200 |
commit | c5694ba5739527c016893079ef659fa8d19161e8 (patch) | |
tree | 2db13e88045d01adde48cde19eadca6cd0bdbb79 /src/qml/compiler/qv4isel_p.cpp | |
parent | 87ccf530772caa5d388d97b556183fb20930ef38 (diff) |
Make it possible to supply an external JS unit generator to the isel
This is needed for QML unit generation, when we share the JS generator
for QML types/strings and JS code.
Change-Id: I50f0c1fa6721d6e3e59417c6c256c82aec124e8f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4isel_p.cpp')
-rw-r--r-- | src/qml/compiler/qv4isel_p.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/qml/compiler/qv4isel_p.cpp b/src/qml/compiler/qv4isel_p.cpp index 66f8ca5327..4d475a1bd0 100644 --- a/src/qml/compiler/qv4isel_p.cpp +++ b/src/qml/compiler/qv4isel_p.cpp @@ -58,11 +58,16 @@ QTextStream qout(stderr, QIODevice::WriteOnly); using namespace QQmlJS; using namespace QQmlJS::V4IR; -EvalInstructionSelection::EvalInstructionSelection(QV4::ExecutableAllocator *execAllocator, Module *module) - : QV4::Compiler::JSUnitGenerator(module) - , useFastLookups(true) +EvalInstructionSelection::EvalInstructionSelection(QV4::ExecutableAllocator *execAllocator, Module *module, QV4::Compiler::JSUnitGenerator *jsGenerator) + : useFastLookups(true) , executableAllocator(execAllocator) + , irModule(module) { + if (!jsGenerator) { + jsGenerator = new QV4::Compiler::JSUnitGenerator(module); + ownJSGenerator.reset(jsGenerator); + } + this->jsGenerator = jsGenerator; assert(execAllocator); assert(module); } |