summaryrefslogtreecommitdiff
path: root/src/lj_frame.h
diff options
context:
space:
mode:
authorMike Pall <mike>2010-01-02 17:42:11 +0100
committerMike Pall <mike>2010-01-02 17:42:11 +0100
commit93ee10642e285f972daff59492c05aa04dc2aa86 (patch)
treed1bb1c4060419a5cfbfed6f5e79b042d1720ec24 /src/lj_frame.h
parent8fc9430d067e255202f6b89fae7065bc50e0c668 (diff)
downloadluajit2-93ee10642e285f972daff59492c05aa04dc2aa86.tar.gz
Major rewrite of error handling to allow external/internal unwinding.
Make external unwinding the default on x64. It's mandatory on WIN64 due to the abundance of callee-saved regs. Allow piecewise internal frame unwinding and optional cleanup. Store ERRMEM, ERRERR and ERRCPP early and copy down later. Use FRAME_CP for lj_vm_resume. Add lj_vm_unwind_*_eh variants as landing pads for external unwinder. Use fastcall for lj_vm_unwind_*. Can drop r12/r13 saves in POSIX/x64 interpreter now.
Diffstat (limited to 'src/lj_frame.h')
-rw-r--r--src/lj_frame.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_frame.h b/src/lj_frame.h
index 2704ee40..0bfcb005 100644
--- a/src/lj_frame.h
+++ b/src/lj_frame.h
@@ -81,7 +81,7 @@ enum {
#define CFRAME_OFS_ERRF (3*4)
#define CFRAME_OFS_NRES (2*4)
#define CFRAME_OFS_MULTRES (1*4)
-#define CFRAME_SIZE (12*8)
+#define CFRAME_SIZE (10*8)
#endif
#else
#error "Missing CFRAME_* definitions for this architecture"