mirror of
https://github.com/kanjitalk755/macemu.git
synced 2024-11-27 02:49:42 +00:00
more precise callee-saved register set
This commit is contained in:
parent
12f103a83a
commit
e534b07a70
@ -111,11 +111,12 @@ uae_u8 call_saved[]={0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0};
|
||||
by pushing, even though they are "saved" across function calls
|
||||
*/
|
||||
#if defined(__x86_64__)
|
||||
/* callee-saved registers as defined by Linux/x86_64 ABI: rbx, rbp, rsp, r12 - r15 */
|
||||
/* callee-saved registers as defined by Linux AMD64 ABI: rbx, rbp, rsp, r12 - r15 */
|
||||
/* preserve r11 because it's generally used to hold pointers to functions */
|
||||
static const uae_u8 need_to_preserve[]={0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,1};
|
||||
#else
|
||||
static const uae_u8 need_to_preserve[]={1,1,1,1,0,1,1,1};
|
||||
/* callee-saved registers as defined by System V IA-32 ABI: edi, esi, ebx, ebp */
|
||||
static const uae_u8 need_to_preserve[]={0,0,0,1,0,1,1,1};
|
||||
#endif
|
||||
|
||||
/* Whether classes of instructions do or don't clobber the native flags */
|
||||
|
Loading…
Reference in New Issue
Block a user