diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2017-01-09 11:35:03 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2017-01-28 19:03:47 +0000 |
commit | afd1f1f2a95deb30640d5ea6038236ce030e2f1e (patch) | |
tree | 8e0364742734fbb65fa60892621fcd1c310588ef /src/qml/jit/qv4assembler_p.h | |
parent | 08e218e00bf4bc05e459c3a8e1085b9b40c21008 (diff) |
Minor cleanup: Move LookupCall and RuntimeCall into Assembler
Change-Id: I31d440d6dc3f42ba33ae42af7ba42a6d045a02fb
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/jit/qv4assembler_p.h')
-rw-r--r-- | src/qml/jit/qv4assembler_p.h | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/qml/jit/qv4assembler_p.h b/src/qml/jit/qv4assembler_p.h index de9c246ed6..b034d57984 100644 --- a/src/qml/jit/qv4assembler_p.h +++ b/src/qml/jit/qv4assembler_p.h @@ -89,23 +89,6 @@ struct CompilationUnit : public QV4::CompiledData::CompilationUnit QVector<JSC::MacroAssemblerCodeRef> codeRefs; }; -struct LookupCall { - JSC::MacroAssembler::Address addr; - uint getterSetterOffset; - - LookupCall(const JSC::MacroAssembler::Address &addr, uint getterSetterOffset) - : addr(addr) - , getterSetterOffset(getterSetterOffset) - {} -}; - -struct RuntimeCall { - JSC::MacroAssembler::Address addr; - - inline RuntimeCall(uint offset = uint(INT_MIN)); - bool isValid() const { return addr.offset >= 0; } -}; - class Assembler : public JSC::MacroAssembler, public TargetPlatform { Q_DISABLE_COPY(Assembler) @@ -113,6 +96,23 @@ class Assembler : public JSC::MacroAssembler, public TargetPlatform public: Assembler(QV4::Compiler::JSUnitGenerator *jsGenerator, IR::Function* function, QV4::ExecutableAllocator *executableAllocator); + struct LookupCall { + Address addr; + uint getterSetterOffset; + + LookupCall(const Address &addr, uint getterSetterOffset) + : addr(addr) + , getterSetterOffset(getterSetterOffset) + {} + }; + + struct RuntimeCall { + Address addr; + + inline RuntimeCall(uint offset = uint(INT_MIN)); + bool isValid() const { return addr.offset >= 0; } + }; + // Explicit type to allow distinguishing between // pushing an address itself or the value it points // to onto the stack when calling functions. @@ -1141,7 +1141,7 @@ void Assembler::copyValue(Result result, IR::Expr* source) } } -inline RuntimeCall::RuntimeCall(uint offset) +inline Assembler::RuntimeCall::RuntimeCall(uint offset) : addr(Assembler::EngineRegister, offset + qOffsetOf(QV4::ExecutionEngine, runtime)) { } @@ -1151,7 +1151,7 @@ inline RuntimeCall::RuntimeCall(uint offset) template <typename T> inline bool prepareCall(T &, Assembler *) { return true; } -template <> inline bool prepareCall(LookupCall &lookupCall, Assembler *as) +template <> inline bool prepareCall(Assembler::LookupCall &lookupCall, Assembler *as) { // IMPORTANT! See generateLookupCall in qv4isel_masm_p.h for details! |