diff options
author | Simon Hausmann <[email protected]> | 2013-08-20 16:54:29 +0200 |
---|---|---|
committer | Simon Hausmann <[email protected]> | 2013-08-20 16:54:29 +0200 |
commit | 461892e492e0bef399714557498380703b3e029b (patch) | |
tree | ad82e1ae8286bbe650b2ee19ad393a4ab8996bb1 /src/qml/compiler/qv4isel_p.h | |
parent | a71e35a95c9f352db91fb82d8a564d01ba961341 (diff) | |
parent | 90aaff37be419ca1f1da40df64424c0d88bfaf19 (diff) |
Merge branch 'wip/v4' of ssh://codereview.qt-project.org/qt/qtdeclarative into dev
Conflicts:
src/qml/compiler/qv4codegen.cpp
src/qml/compiler/qv4codegen_p.h
src/qml/compiler/qv4isel_moth.cpp
src/qml/jsruntime/qv4context_p.h
src/qml/jsruntime/qv4functionobject.cpp
src/qml/jsruntime/qv4runtime.cpp
src/qml/jsruntime/qv4runtime_p.h
src/qml/jsruntime/qv4script.cpp
sync.profile
Change-Id: I1d785e2134bffac9553a1c16eed12816cbd1ad2c
Diffstat (limited to 'src/qml/compiler/qv4isel_p.h')
-rw-r--r-- | src/qml/compiler/qv4isel_p.h | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/qml/compiler/qv4isel_p.h b/src/qml/compiler/qv4isel_p.h index 947583a907..6f4b042a09 100644 --- a/src/qml/compiler/qv4isel_p.h +++ b/src/qml/compiler/qv4isel_p.h @@ -44,6 +44,8 @@ #include "private/qv4global_p.h" #include "qv4jsir_p.h" +#include <private/qv4compileddata_p.h> +#include <private/qv4compiler_p.h> #include <qglobal.h> #include <QHash> @@ -51,39 +53,36 @@ QT_BEGIN_NAMESPACE namespace QV4 { -struct ExecutionEngine; +class ExecutableAllocator; struct Function; } namespace QQmlJS { -class Q_QML_EXPORT EvalInstructionSelection +class Q_QML_EXPORT EvalInstructionSelection : public QV4::Compiler::JSUnitGenerator { public: - EvalInstructionSelection(QV4::ExecutionEngine *engine, V4IR::Module *module); + EvalInstructionSelection(QV4::ExecutableAllocator *execAllocator, V4IR::Module *module); virtual ~EvalInstructionSelection() = 0; - QV4::Function *vmFunction(V4IR::Function *f); + QV4::CompiledData::CompilationUnit *compile(); void setUseFastLookups(bool b) { useFastLookups = b; } protected: - QV4::Function *createFunctionMapping(QV4::Function *outer, V4IR::Function *irFunction); - QV4::ExecutionEngine *engine() const { return _engine; } - virtual void run(QV4::Function *vmFunction, V4IR::Function *function) = 0; + virtual void run(V4IR::Function *function) = 0; + virtual QV4::CompiledData::CompilationUnit *backendCompileStep() = 0; -private: - QV4::ExecutionEngine *_engine; - QHash<V4IR::Function *, QV4::Function *> _irToVM; protected: bool useFastLookups; + QV4::ExecutableAllocator *executableAllocator; }; class Q_QML_EXPORT EvalISelFactory { public: virtual ~EvalISelFactory() = 0; - virtual EvalInstructionSelection *create(QV4::ExecutionEngine *engine, V4IR::Module *module) = 0; + virtual EvalInstructionSelection *create(QV4::ExecutableAllocator *execAllocator, V4IR::Module *module) = 0; virtual bool jitCompileRegexps() const = 0; }; |