aboutsummaryrefslogtreecommitdiff
path: root/src/lj_dispatch.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_dispatch.h')
-rw-r--r--src/lj_dispatch.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lj_dispatch.h b/src/lj_dispatch.h
index 17bf93da..6a3bc2bd 100644
--- a/src/lj_dispatch.h
+++ b/src/lj_dispatch.h
@@ -70,12 +70,20 @@ typedef uint16_t HotCount;
70typedef struct GG_State { 70typedef struct GG_State {
71 lua_State L; /* Main thread. */ 71 lua_State L; /* Main thread. */
72 global_State g; /* Global state. */ 72 global_State g; /* Global state. */
73#if LJ_TARGET_ARM
74 /* Make g reachable via K12 encoded DISPATCH-relative addressing. */
75 uint8_t align1[(16-sizeof(global_State))&15];
76#endif
73#if LJ_TARGET_MIPS 77#if LJ_TARGET_MIPS
74 ASMFunction got[LJ_GOT__MAX]; /* Global offset table. */ 78 ASMFunction got[LJ_GOT__MAX]; /* Global offset table. */
75#endif 79#endif
76#if LJ_HASJIT 80#if LJ_HASJIT
77 jit_State J; /* JIT state. */ 81 jit_State J; /* JIT state. */
78 HotCount hotcount[HOTCOUNT_SIZE]; /* Hot counters. */ 82 HotCount hotcount[HOTCOUNT_SIZE]; /* Hot counters. */
83#if LJ_TARGET_ARM
84 /* Ditto for J. */
85 uint8_t align2[(16-sizeof(jit_State)-sizeof(HotCount)*HOTCOUNT_SIZE)&15];
86#endif
79#endif 87#endif
80 ASMFunction dispatch[GG_LEN_DISP]; /* Instruction dispatch tables. */ 88 ASMFunction dispatch[GG_LEN_DISP]; /* Instruction dispatch tables. */
81 BCIns bcff[GG_NUM_ASMFF]; /* Bytecode for ASM fast functions. */ 89 BCIns bcff[GG_NUM_ASMFF]; /* Bytecode for ASM fast functions. */