diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2016-01-14 15:39:17 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@theqtcompany.com> | 2016-01-19 11:19:38 +0000 |
commit | f8bcf723ce920981705c6913fffb1f4d3de6793d (patch) | |
tree | d0bced1e1e422c32d3f148c1ded7846063fb25f6 /src/3rdparty/masm/yarr/YarrJIT.cpp | |
parent | 9876f7ac8bd3679a9ed0e617aaadad032403a88f (diff) |
V4: add Aarch64/ARM64 support.
This uses the JavaScriptCore assembler rev. 195098. It is tested on iOS
(for which it is disabled, as it only allows marking pages as executable when
running from Xcode). Testing on Linux will be done when hardware
arrives.
Change-Id: I650e15fec03c27d4b326a2d70863a89b85cfc5c3
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/3rdparty/masm/yarr/YarrJIT.cpp')
-rw-r--r-- | src/3rdparty/masm/yarr/YarrJIT.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/3rdparty/masm/yarr/YarrJIT.cpp b/src/3rdparty/masm/yarr/YarrJIT.cpp index ce18b3ab4f..5664c585b9 100644 --- a/src/3rdparty/masm/yarr/YarrJIT.cpp +++ b/src/3rdparty/masm/yarr/YarrJIT.cpp @@ -53,6 +53,17 @@ class YarrGenerator : private MacroAssembler { static const RegisterID returnRegister = ARMRegisters::r0; static const RegisterID returnRegister2 = ARMRegisters::r1; +#elif CPU(ARM64) + static const RegisterID input = ARM64Registers::x0; + static const RegisterID index = ARM64Registers::x1; + static const RegisterID length = ARM64Registers::x2; + static const RegisterID output = ARM64Registers::x3; + + static const RegisterID regT0 = ARM64Registers::x4; + static const RegisterID regT1 = ARM64Registers::x5; + + static const RegisterID returnRegister = ARM64Registers::x0; + static const RegisterID returnRegister2 = ARM64Registers::x1; #elif CPU(MIPS) static const RegisterID input = MIPSRegisters::a0; static const RegisterID index = MIPSRegisters::a1; |