diff options
Diffstat (limited to 'src/qml/jsruntime/qv4vme_moth_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4vme_moth_p.h | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/qml/jsruntime/qv4vme_moth_p.h b/src/qml/jsruntime/qv4vme_moth_p.h index 8d46207f2b..3b7723ca7e 100644 --- a/src/qml/jsruntime/qv4vme_moth_p.h +++ b/src/qml/jsruntime/qv4vme_moth_p.h @@ -52,10 +52,6 @@ // #include <private/qv4global_p.h> -#include <private/qv4runtime_p.h> -#include <private/qv4instr_moth_p.h> - -QT_REQUIRE_CONFIG(qml_interpreter); QT_BEGIN_NAMESPACE @@ -65,10 +61,17 @@ namespace Moth { class VME { public: - static QV4::ReturnedValue exec(QV4::ExecutionEngine *, const uchar *); - -private: - QV4::ReturnedValue run(QV4::ExecutionEngine *, const uchar *code); + struct ExecData { + QV4::Function *function; + const QV4::ExecutionContext *scope; + }; + static inline + QV4::ReturnedValue exec(Function *v4Function, const Value *thisObject, const Value *argv, int argc, const ExecutionContext *context) { + ExecData data{v4Function, context}; + quintptr d = reinterpret_cast<quintptr>(&data) | 0x1; + return exec(reinterpret_cast<const FunctionObject *>(d), thisObject, argv, argc); + } + static QV4::ReturnedValue exec(const FunctionObject *fo, const Value *thisObject, const Value *argv, int argc); }; } // namespace Moth |