diff options
-rw-r--r-- | src/qml/compiler/compiler.pri | 2 | ||||
-rw-r--r-- | src/qml/compiler/qv4codegen.cpp | 5 | ||||
-rw-r--r-- | src/qml/compiler/qv4compilationunit_moth.cpp | 63 | ||||
-rw-r--r-- | src/qml/compiler/qv4compilationunit_moth_p.h | 79 | ||||
-rw-r--r-- | src/qml/compiler/qv4compileddata.cpp | 10 | ||||
-rw-r--r-- | src/qml/compiler/qv4compileddata_p.h | 2 | ||||
-rw-r--r-- | src/qml/qml/qqmltypeloader.cpp | 7 |
7 files changed, 14 insertions, 154 deletions
diff --git a/src/qml/compiler/compiler.pri b/src/qml/compiler/compiler.pri index c5d6a17e62..0d63d3b76f 100644 --- a/src/qml/compiler/compiler.pri +++ b/src/qml/compiler/compiler.pri @@ -5,7 +5,6 @@ HEADERS += \ $$PWD/qv4bytecodegenerator_p.h \ $$PWD/qv4compileddata_p.h \ $$PWD/qv4compiler_p.h \ - $$PWD/qv4compilationunit_moth_p.h \ $$PWD/qv4compilercontext_p.h \ $$PWD/qv4compilercontrolflow_p.h \ $$PWD/qv4compilerscanfunctions_p.h \ @@ -17,7 +16,6 @@ SOURCES += \ $$PWD/qv4bytecodegenerator.cpp \ $$PWD/qv4compileddata.cpp \ $$PWD/qv4compiler.cpp \ - $$PWD/qv4compilationunit_moth.cpp \ $$PWD/qv4compilercontext.cpp \ $$PWD/qv4compilerscanfunctions.cpp \ $$PWD/qv4codegen.cpp \ diff --git a/src/qml/compiler/qv4codegen.cpp b/src/qml/compiler/qv4codegen.cpp index ea3f194852..b881454f40 100644 --- a/src/qml/compiler/qv4codegen.cpp +++ b/src/qml/compiler/qv4codegen.cpp @@ -53,7 +53,6 @@ #include <private/qv4compilercontext_p.h> #include <private/qv4compilercontrolflow_p.h> #include <private/qv4bytecodegenerator_p.h> -#include <private/qv4compilationunit_moth_p.h> #include <private/qv4compilerscanfunctions_p.h> #include <cmath> @@ -2730,7 +2729,7 @@ QList<QQmlJS::DiagnosticMessage> Codegen::errors() const QQmlRefPointer<CompiledData::CompilationUnit> Codegen::generateCompilationUnit(bool generateUnitData) { - Moth::CompilationUnit *compilationUnit = new Moth::CompilationUnit; + CompiledData::CompilationUnit *compilationUnit = new CompiledData::CompilationUnit; if (generateUnitData) compilationUnit->data = jsUnitGenerator->generateUnit(); @@ -2742,7 +2741,7 @@ QQmlRefPointer<CompiledData::CompilationUnit> Codegen::generateCompilationUnit(b QQmlRefPointer<CompiledData::CompilationUnit> Codegen::createUnitForLoading() { QQmlRefPointer<CompiledData::CompilationUnit> result; - result.adopt(new Moth::CompilationUnit); + result.adopt(new CompiledData::CompilationUnit); return result; } diff --git a/src/qml/compiler/qv4compilationunit_moth.cpp b/src/qml/compiler/qv4compilationunit_moth.cpp deleted file mode 100644 index fa9a3f82fc..0000000000 --- a/src/qml/compiler/qv4compilationunit_moth.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtQml module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include "qv4compilationunit_moth_p.h" -#ifndef V4_BOOTSTRAP -#include <private/qv4function_p.h> -#include <private/qv4vme_moth_p.h> -#endif -#include <wtf/StdLibExtras.h> - -using namespace QV4; -using namespace QV4::Moth; - -CompilationUnit::~CompilationUnit() -{ -} - -#if !defined(V4_BOOTSTRAP) - -void CompilationUnit::linkBackendToEngine(QV4::ExecutionEngine *engine) -{ - runtimeFunctions.resize(data->functionTableSize); - for (int i = 0 ;i < runtimeFunctions.size(); ++i) { - const QV4::CompiledData::Function *compiledFunction = data->functionAt(i); - runtimeFunctions[i] = new QV4::Function(engine, this, compiledFunction, &VME::exec); - } -} -#endif // V4_BOOTSTRAP diff --git a/src/qml/compiler/qv4compilationunit_moth_p.h b/src/qml/compiler/qv4compilationunit_moth_p.h deleted file mode 100644 index 80e97e0d74..0000000000 --- a/src/qml/compiler/qv4compilationunit_moth_p.h +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtQml module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QV4COMPILATIONUNIT_MOTH_P_H -#define QV4COMPILATIONUNIT_MOTH_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include <private/qv4global_p.h> -#include <private/qv4compileddata_p.h> - -#if !defined(V4_BOOTSTRAP) -QT_REQUIRE_CONFIG(qml_interpreter); -#endif - -QT_BEGIN_NAMESPACE - -namespace QV4 { -namespace Moth { - -struct CompilationUnit : public QV4::CompiledData::CompilationUnit -{ - virtual ~CompilationUnit(); -#if !defined(V4_BOOTSTRAP) - void linkBackendToEngine(QV4::ExecutionEngine *engine) Q_DECL_OVERRIDE; -#endif -}; - -} -} - -QT_END_NAMESPACE - -#endif diff --git a/src/qml/compiler/qv4compileddata.cpp b/src/qml/compiler/qv4compileddata.cpp index 3f6f9f12b6..58588e4ad5 100644 --- a/src/qml/compiler/qv4compileddata.cpp +++ b/src/qml/compiler/qv4compileddata.cpp @@ -48,6 +48,7 @@ #include <private/qqmlpropertycache_p.h> #include <private/qqmltypeloader_p.h> #include <private/qqmlengine_p.h> +#include <private/qv4vme_moth_p.h> #include "qv4compilationunitmapper_p.h" #include <QQmlPropertyMap> #include <QDateTime> @@ -393,6 +394,15 @@ bool CompilationUnit::loadFromDisk(const QUrl &url, const QDateTime &sourceTimeS return true; } +void CompilationUnit::linkBackendToEngine(ExecutionEngine *engine) +{ + runtimeFunctions.resize(data->functionTableSize); + for (int i = 0 ;i < runtimeFunctions.size(); ++i) { + const QV4::CompiledData::Function *compiledFunction = data->functionAt(i); + runtimeFunctions[i] = new QV4::Function(engine, this, compiledFunction, &Moth::VME::exec); + } +} + #endif // V4_BOOTSTRAP #if defined(V4_BOOTSTRAP) diff --git a/src/qml/compiler/qv4compileddata_p.h b/src/qml/compiler/qv4compileddata_p.h index d1567611dc..882fe06086 100644 --- a/src/qml/compiler/qv4compileddata_p.h +++ b/src/qml/compiler/qv4compileddata_p.h @@ -958,7 +958,7 @@ struct Q_QML_PRIVATE_EXPORT CompilationUnit : public CompilationUnitBase, public bool loadFromDisk(const QUrl &url, const QDateTime &sourceTimeStamp, QString *errorString); protected: - virtual void linkBackendToEngine(QV4::ExecutionEngine *engine) = 0; + void linkBackendToEngine(QV4::ExecutionEngine *engine); #endif // V4_BOOTSTRAP public: diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp index 6601429be4..013ed48c70 100644 --- a/src/qml/qml/qqmltypeloader.cpp +++ b/src/qml/qml/qqmltypeloader.cpp @@ -2914,11 +2914,6 @@ QQmlScriptData *QQmlScriptBlob::scriptData() const return m_scriptData; } -struct EmptyCompilationUnit : public QV4::CompiledData::CompilationUnit -{ - void linkBackendToEngine(QV4::ExecutionEngine *) override {} -}; - void QQmlScriptBlob::dataReceived(const SourceCodeData &data) { if (!disableDiskCache() || forceDiskCache()) { @@ -2954,7 +2949,7 @@ void QQmlScriptBlob::dataReceived(const SourceCodeData &data) return; } if (!unit) { - unit.adopt(new EmptyCompilationUnit); + unit.adopt(new QV4::CompiledData::CompilationUnit); } irUnit.javaScriptCompilationUnit = unit; irUnit.imports = collector.imports; |