From d6615c16b4830af8abe1639c2790a41a249fcf7b Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Fri, 7 Jul 2017 11:40:30 +0200 Subject: 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 --- tools/qmlcachegen/qmlcachegen.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'tools/qmlcachegen/qmlcachegen.cpp') 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 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; -- cgit v1.2.3