diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-07-07 11:40:30 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-07-07 10:30:48 +0000 |
commit | d6615c16b4830af8abe1639c2790a41a249fcf7b (patch) | |
tree | c97a2f30bde08748a63b7d3c62a7a56e7339f422 /tools/qmlcachegen | |
parent | ffd9b5bc1d74824db50d5a1f1adfd12ec3826915 (diff) |
Fix disabling fast lookups for QML
This was accidentally enabled because we previously generated the
lookups in the isel (so second part of code generation), where we now
do it in codegen itself (so early on).
Change-Id: I591fbb7a26d94b985c934c5ffca0068b80fac58a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'tools/qmlcachegen')
-rw-r--r-- | tools/qmlcachegen/qmlcachegen.cpp | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/tools/qmlcachegen/qmlcachegen.cpp b/tools/qmlcachegen/qmlcachegen.cpp index 588dd14157..b301d4b975 100644 --- a/tools/qmlcachegen/qmlcachegen.cpp +++ b/tools/qmlcachegen/qmlcachegen.cpp @@ -143,6 +143,7 @@ static bool compileQmlFile(const QString &inputFileName, const QString &outputFi &irDocument.jsGenerator, &irDocument.jsModule, &irDocument.jsParserEngine, irDocument.program, /*import cache*/0, &irDocument.jsGenerator.stringTable); + v4CodeGen.setUseFastLookups(false); // Disable lookups in non-standalone (aka QML) mode for (QmlIR::Object *object: qAsConst(irDocument.objects)) { if (object->functionsAndExpressions->count == 0) continue; @@ -167,14 +168,6 @@ static bool compileQmlFile(const QString &inputFileName, const QString &outputFi } QmlIR::QmlUnitGenerator generator; - -// { -// QQmlJavaScriptBindingExpressionSimplificationPass pass(irDocument.objects, &irDocument.jsModule, &irDocument.jsGenerator); -// pass.reduceTranslationBindings(); -// } - - // Disable lookups in non-standalone (aka QML) mode - v4CodeGen.setUseFastLookups(false); irDocument.javaScriptCompilationUnit = v4CodeGen.generateCompilationUnit(/*generate unit*/false); QV4::CompiledData::Unit *unit = generator.generate(irDocument); unit->flags |= QV4::CompiledData::Unit::StaticData; @@ -249,6 +242,7 @@ static bool compileJSFile(const QString &inputFileName, const QString &outputFil &irDocument.jsModule, &irDocument.jsParserEngine, irDocument.program, /*import cache*/0, &irDocument.jsGenerator.stringTable); + v4CodeGen.setUseFastLookups(false); // Disable lookups in non-standalone (aka QML) mode v4CodeGen.generateFromProgram(inputFileName, sourceCode, program, &irDocument.jsModule, QV4::Compiler::GlobalCode); QList<QQmlJS::DiagnosticMessage> jsErrors = v4CodeGen.errors(); if (!jsErrors.isEmpty()) { @@ -263,8 +257,6 @@ static bool compileJSFile(const QString &inputFileName, const QString &outputFil QmlIR::QmlUnitGenerator generator; - // Disable lookups in non-standalone (aka QML) mode - v4CodeGen.setUseFastLookups(false); irDocument.javaScriptCompilationUnit = v4CodeGen.generateCompilationUnit(/*generate unit*/false); QV4::CompiledData::Unit *unit = generator.generate(irDocument); unit->flags |= QV4::CompiledData::Unit::StaticData; |