diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-11-14 10:45:06 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2017-11-17 11:53:42 +0000 |
commit | 3658f534cb1947663d29b9db00dcced462674aed (patch) | |
tree | a0c46c3c70c228426b4b774fb742b25a4854be9a /src/3rdparty | |
parent | 75584bde397b1a7e92281855ea04e743fae7c1c5 (diff) |
V4: Add a baseline JIT
This patch add a JIT back in for all platforms that supported JITting
before, with the exception of MIPS.
Change-Id: I51bc5ce3a2ac40e0510bd72a563af897c5b60343
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/3rdparty')
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssembler.h | 2 | ||||
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssemblerARMv7.h | 11 | ||||
-rw-r--r-- | src/3rdparty/masm/assembler/MacroAssemblerX86_64.h | 13 |
3 files changed, 25 insertions, 1 deletions
diff --git a/src/3rdparty/masm/assembler/MacroAssembler.h b/src/3rdparty/masm/assembler/MacroAssembler.h index 6e77a9ffb7..20ddcadae1 100644 --- a/src/3rdparty/masm/assembler/MacroAssembler.h +++ b/src/3rdparty/masm/assembler/MacroAssembler.h @@ -810,7 +810,7 @@ public: Jump branchPtr(RelationalCondition cond, RegisterID left, TrustedImmPtr right) { - return branch64(cond, left, TrustedImm64(right)); + return this->branch64(cond, left, TrustedImm64(right)); } Jump branchPtr(RelationalCondition cond, RegisterID left, Address right) diff --git a/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h b/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h index fe8170d098..d91122d4a1 100644 --- a/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h +++ b/src/3rdparty/masm/assembler/MacroAssemblerARMv7.h @@ -815,6 +815,17 @@ public: store8(src, setupArmAddress(address)); } + void store8(RegisterID src, Address address) + { + store8(src, setupArmAddress(address)); + } + + void store8(TrustedImm32 imm, Address address) + { + move(imm, dataTempRegister); + store8(dataTempRegister, address); + } + #if !defined(V4_BOOTSTRAP) void store8(RegisterID src, void* address) { diff --git a/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h b/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h index c7c6aae637..002caaae78 100644 --- a/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h +++ b/src/3rdparty/masm/assembler/MacroAssemblerX86_64.h @@ -292,6 +292,12 @@ public: or64(imm, dest); } + void or64(TrustedImm64 imm, RegisterID src, RegisterID dest) + { + move(src, dest); + or64(imm, dest); + } + void rotateRight64(TrustedImm32 imm, RegisterID srcDst) { m_assembler.rorq_i8r(imm.m_value, srcDst); @@ -366,6 +372,13 @@ public: } } + void urshift64(RegisterID src, TrustedImm32 imm, RegisterID dest) + { + if (src != dest) + move(src, dest); + urshift64(imm, dest); + } + void urshift64(TrustedImm32 imm, RegisterID dest) { m_assembler.shrq_i8r(imm.m_value, dest); |