ARM64: Reorder interpreter stack frame and fix unwinding.

Reported by Yichun Zhang. Fixes #722.
May help towards fixing #698, too.
This commit is contained in:
Mike Pall
2021-09-20 22:37:07 +02:00
parent 28440544ba
commit 421c4c7987
2 changed files with 152 additions and 49 deletions

View File

@@ -192,12 +192,12 @@ enum { LJ_CONT_TAILCALL, LJ_CONT_FFI_CALLBACK }; /* Special continuations. */
#endif
#define CFRAME_SHIFT_MULTRES 3
#elif LJ_TARGET_ARM64
#define CFRAME_OFS_ERRF 196
#define CFRAME_OFS_NRES 200
#define CFRAME_OFS_PREV 160
#define CFRAME_OFS_L 176
#define CFRAME_OFS_PC 168
#define CFRAME_OFS_MULTRES 192
#define CFRAME_OFS_ERRF 36
#define CFRAME_OFS_NRES 40
#define CFRAME_OFS_PREV 0
#define CFRAME_OFS_L 16
#define CFRAME_OFS_PC 8
#define CFRAME_OFS_MULTRES 32
#define CFRAME_SIZE 208
#define CFRAME_SHIFT_MULTRES 3
#elif LJ_TARGET_PPC