aboutsummaryrefslogtreecommitdiff
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-05-09 15:39:39 +0200
commit4cff4b52286a7d1a7e40817d52a5d271a937ddc2 (patch)
tree38dda494f2b8a3803ec1f4ee9b0d5c0644d29560
parentd91bbec08fe79d8bfb1d3119cd7d03aa12624c82 (diff)
allow allocating caller saved regs on windows
-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