Mercurial > repos > blastem
changeset 1829:a79e92929044
Fix callee saved regs for Win64
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 07 Apr 2019 22:48:58 -0700 |
parents | 37afb9cf58be |
children | 2f3600e204b0 |
files | gen_x86.c |
diffstat | 1 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/gen_x86.c Sun Apr 07 00:06:29 2019 -0700 +++ b/gen_x86.c Sun Apr 07 22:48:58 2019 -0700 @@ -2228,7 +2228,8 @@ push_r(code, R13); push_r(code, R14); push_r(code, R15); -#else +#endif +#if !defined(X86_64) || defined(_WIN32) push_r(code, RDI); push_r(code, RSI); #endif @@ -2236,14 +2237,15 @@ void restore_callee_save_regs(code_info *code) { +#if !defined(X86_64) || defined(_WIN32) + pop_r(code, RSI); + pop_r(code, RDI); +#endif #ifdef X86_64 pop_r(code, R15); pop_r(code, R14); pop_r(code, R13); pop_r(code, R12); -#else - pop_r(code, RSI); - pop_r(code, RDI); #endif pop_r(code, RBP); pop_r(code, RBX);