File tree 2 files changed +9
-5
lines changed
2 files changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -70,12 +70,20 @@ typedef uint16_t HotCount;
70
70
typedef struct GG_State {
71
71
lua_State L ; /* Main thread. */
72
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
77
#if LJ_TARGET_MIPS
74
78
ASMFunction got [LJ_GOT__MAX ]; /* Global offset table. */
75
79
#endif
76
80
#if LJ_HASJIT
77
81
jit_State J ; /* JIT state. */
78
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
87
#endif
80
88
ASMFunction dispatch [GG_LEN_DISP ]; /* Instruction dispatch tables. */
81
89
BCIns bcff [GG_NUM_ASMFF ]; /* Bytecode for ASM fast functions. */
Original file line number Diff line number Diff line change @@ -406,11 +406,7 @@ typedef struct jit_State {
406
406
size_t szallmcarea ; /* Total size of all allocated mcode areas. */
407
407
408
408
TValue errinfo ; /* Additional info element for trace errors. */
409
- }
410
- #if LJ_TARGET_ARM
411
- LJ_ALIGN (16 ) /* For DISPATCH-relative addresses in assembler part. */
412
- #endif
413
- jit_State ;
409
+ } jit_State ;
414
410
415
411
/* Trivial PRNG e.g. used for penalty randomization. */
416
412
static LJ_AINLINE uint32_t LJ_PRNG_BITS (jit_State * J , int bits )
You can’t perform that action at this time.
0 commit comments