diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2014-08-12 09:40:11 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@digia.com> | 2014-08-14 15:27:51 +0200 |
commit | d9f33ccdef985badc56fd8940373748626beffc7 (patch) | |
tree | ccacfa93345abba1d274dfb0bae178e855efb613 /src/qml/jit/qv4isel_masm_p.h | |
parent | 17743ea6e22535bd5c6c01436c40084f0c4053bc (diff) |
V4 JIT: parameterize the prologue and epilogue generation
... with the regular (non-FP) registers that need to be saved. This
patch shouldn't change any of the JIT generated code, because all
regular callee saved registers are passed in.
Change-Id: Id11b8f37f06d80e8015ac6f0d0ccefdfa3342cbe
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jit/qv4isel_masm_p.h')
-rw-r--r-- | src/qml/jit/qv4isel_masm_p.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/qml/jit/qv4isel_masm_p.h b/src/qml/jit/qv4isel_masm_p.h index af518a0851..bbe0f05556 100644 --- a/src/qml/jit/qv4isel_masm_p.h +++ b/src/qml/jit/qv4isel_masm_p.h @@ -237,6 +237,8 @@ private: int prepareVariableArguments(IR::ExprList* args); int prepareCallData(IR::ExprList* args, IR::Expr *thisObject); + void calculateRegistersToSave(const RegisterInformation &used); + template <typename Retval, typename Arg1, typename Arg2, typename Arg3> void generateLookupCall(Retval retval, uint index, uint getterSetterOffset, Arg1 arg1, Arg2 arg2, Arg3 arg3) { @@ -263,6 +265,7 @@ private: QScopedPointer<CompilationUnit> compilationUnit; QQmlEnginePrivate *qmlEngine; + RegisterInformation regularRegistersToSave; }; class Q_QML_EXPORT ISelFactory: public EvalISelFactory |