diff options
author | Mike Pall <mike> | 2010-09-13 21:50:08 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2010-09-13 21:50:27 +0200 |
commit | 8a87395d8dc92a0bfc04e21554a963747d2ebf06 (patch) | |
tree | 39416d5e561c8104a94b87ae8aea47b0cdec0118 /src/lj_frame.h | |
parent | 0001916f8d85c6ce36cdf5f00fbc41529a9fef79 (diff) | |
download | luajit2-8a87395d8dc92a0bfc04e21554a963747d2ebf06.tar.gz |
PPC: Add support for shifted MULTRES.
Diffstat (limited to 'src/lj_frame.h')
-rw-r--r-- | src/lj_frame.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lj_frame.h b/src/lj_frame.h index da33420b..c4931072 100644 --- a/src/lj_frame.h +++ b/src/lj_frame.h @@ -67,6 +67,7 @@ enum { #define CFRAME_OFS_MULTRES (5*4) #define CFRAME_SIZE (12*4) #define CFRAME_SIZE_JIT CFRAME_SIZE +#define CFRAME_SHIFT_MULTRES 0 #elif LJ_TARGET_X64 #if _WIN64 #define CFRAME_OFS_PREV (13*8) @@ -77,6 +78,7 @@ enum { #define CFRAME_OFS_MULTRES (21*4) #define CFRAME_SIZE (10*8) #define CFRAME_SIZE_JIT (CFRAME_SIZE + 9*16 + 4*8) +#define CFRAME_SHIFT_MULTRES 0 #else #define CFRAME_OFS_PREV (4*8) #define CFRAME_OFS_PC (7*4) @@ -86,6 +88,7 @@ enum { #define CFRAME_OFS_MULTRES (1*4) #define CFRAME_SIZE (10*8) #define CFRAME_SIZE_JIT (CFRAME_SIZE + 16) +#define CFRAME_SHIFT_MULTRES 0 #endif #elif LJ_TARGET_PPCSPE #define CFRAME_OFS_ERRF 28 @@ -96,6 +99,7 @@ enum { #define CFRAME_OFS_MULTRES 8 #define CFRAME_SIZE 176 #define CFRAME_SIZE_JIT CFRAME_SIZE +#define CFRAME_SHIFT_MULTRES 3 #else #error "Missing CFRAME_* definitions for this architecture" #endif @@ -108,6 +112,7 @@ enum { #define cframe_nres(cf) (*(int32_t *)(((char *)(cf))+CFRAME_OFS_NRES)) #define cframe_prev(cf) (*(void **)(((char *)(cf))+CFRAME_OFS_PREV)) #define cframe_multres(cf) (*(uint32_t *)(((char *)(cf))+CFRAME_OFS_MULTRES)) +#define cframe_multres_n(cf) (cframe_multres((cf)) >> CFRAME_SHIFT_MULTRES) #define cframe_L(cf) \ (&gcref(*(GCRef *)(((char *)(cf))+CFRAME_OFS_L))->th) #define cframe_pc(cf) \ |