aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRSDuck <rsduck@users.noreply.github.com>2020-05-09 15:39:39 +0200
committerRSDuck <rsduck@users.noreply.github.com>2020-06-16 12:01:10 +0200
commitc17f7b100e36edb1c728dbf21c77f9484d1820c6 (patch)
tree8c46699c3092f66ebe77b8b1213c5bec42526f4b /src
parentefb796640b6b4c140dd8e2924e740702d66e7823 (diff)
allow allocating caller saved regs on windows
Diffstat (limited to 'src')
-rw-r--r--src/ARMJIT_x64/ARMJIT_Compiler.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/ARMJIT_x64/ARMJIT_Compiler.cpp b/src/ARMJIT_x64/ARMJIT_Compiler.cpp
index ef04601..fd3fb70 100644
--- a/src/ARMJIT_x64/ARMJIT_Compiler.cpp
+++ b/src/ARMJIT_x64/ARMJIT_Compiler.cpp
@@ -24,7 +24,8 @@ template <>
const X64Reg RegisterCache<Compiler, X64Reg>::NativeRegAllocOrder[] =
{
#ifdef _WIN32
- RBX, RSI, RDI, R12, R13, R14
+ RBX, RSI, RDI, R12, R13, R14, // callee saved
+ R10, R11, // caller saved
#else
RBX, R12, R13, R14, // callee saved, this is sad
R9, R10, R11, // caller saved
@@ -33,7 +34,7 @@ const X64Reg RegisterCache<Compiler, X64Reg>::NativeRegAllocOrder[] =
template <>
const int RegisterCache<Compiler, X64Reg>::NativeRegsAvailable =
#ifdef _WIN32
- 6
+ 8
#else
7
#endif