aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmlcachegen
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@qt.io>2017-07-07 11:40:30 +0200
committerErik Verbruggen <erik.verbruggen@qt.io>2017-07-07 10:30:48 +0000
commitd6615c16b4830af8abe1639c2790a41a249fcf7b (patch)
treec97a2f30bde08748a63b7d3c62a7a56e7339f422 /tools/qmlcachegen
parentffd9b5bc1d74824db50d5a1f1adfd12ec3826915 (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.cpp12
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;