diff options
author | Mike Pall <mike> | 2009-12-29 02:04:20 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2009-12-29 02:04:20 +0100 |
commit | d18d1573d8f37de44cfeef580d244d17561c73d7 (patch) | |
tree | b7b6de9ba326494b6ca8d82ce7024e54af6bef8c /src/lj_frame.h | |
parent | 374f53471528e1592d9075c47e579d2f3c546beb (diff) | |
download | luajit-d18d1573d8f37de44cfeef580d244d17561c73d7.tar.gz luajit-d18d1573d8f37de44cfeef580d244d17561c73d7.tar.bz2 luajit-d18d1573d8f37de44cfeef580d244d17561c73d7.zip |
Save all callee-saved x64 integer regs for unwinding.
Temporary measure. Does not cover xmm saves on WIN64.
May have to use unwind info or waste another 160 bytes per CFRAME.
Diffstat (limited to '')
-rw-r--r-- | src/lj_frame.h | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/lj_frame.h b/src/lj_frame.h index 14d640cd..398ec4e5 100644 --- a/src/lj_frame.h +++ b/src/lj_frame.h | |||
@@ -66,19 +66,19 @@ enum { | |||
66 | #define CFRAME_SIZE (12*4) | 66 | #define CFRAME_SIZE (12*4) |
67 | #elif LJ_TARGET_X64 | 67 | #elif LJ_TARGET_X64 |
68 | #if _WIN64 | 68 | #if _WIN64 |
69 | #define CFRAME_OFS_ERRF (23*4) | 69 | #define CFRAME_OFS_PREV (17*8) |
70 | #define CFRAME_OFS_NRES (22*4) | 70 | #define CFRAME_OFS_PC (33*4) |
71 | #define CFRAME_OFS_PREV (13*8) | 71 | #define CFRAME_OFS_L (32*4) |
72 | #define CFRAME_OFS_L (24*4) | 72 | #define CFRAME_OFS_ERRF (31*4) |
73 | #define CFRAME_OFS_PC (25*4) | 73 | #define CFRAME_OFS_NRES (30*4) |
74 | #define CFRAME_SIZE (10*8) | 74 | #define CFRAME_SIZE (14*8) |
75 | #else | 75 | #else |
76 | #define CFRAME_OFS_ERRF (3*4) | ||
77 | #define CFRAME_OFS_NRES (2*4) | ||
78 | #define CFRAME_OFS_PREV (4*8) | 76 | #define CFRAME_OFS_PREV (4*8) |
79 | #define CFRAME_OFS_L (4*4) | ||
80 | #define CFRAME_OFS_PC (5*4) | 77 | #define CFRAME_OFS_PC (5*4) |
81 | #define CFRAME_SIZE (10*8) | 78 | #define CFRAME_OFS_L (4*4) |
79 | #define CFRAME_OFS_ERRF (3*4) | ||
80 | #define CFRAME_OFS_NRES (2*4) | ||
81 | #define CFRAME_SIZE (12*8) | ||
82 | #endif | 82 | #endif |
83 | #else | 83 | #else |
84 | #error "Missing CFRAME_* definitions for this architecture" | 84 | #error "Missing CFRAME_* definitions for this architecture" |