Skip to content

Commit 7fab0a3

Browse files
committed
JIT: Align JIT stubs
Fixed GH-11120 Signed-off-by: PeterYang12 <[email protected]>
1 parent 945db3c commit 7fab0a3

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

ext/opcache/jit/zend_jit.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4696,6 +4696,7 @@ static int zend_jit_make_stubs(void)
46964696

46974697
for (i = 0; i < sizeof(zend_jit_stubs)/sizeof(zend_jit_stubs[0]); i++) {
46984698
dasm_setup(&dasm_state, dasm_actions);
4699+
zend_jit_align_stub(&dasm_state);
46994700
if (!zend_jit_stubs[i].stub(&dasm_state)) {
47004701
return 0;
47014702
}

ext/opcache/jit/zend_jit_trace.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ static const void *zend_jit_trace_allocate_exit_group(uint32_t n)
9494
dasm_init(&dasm_state, DASM_MAXSECTION);
9595
dasm_setupglobal(&dasm_state, dasm_labels, zend_lb_MAX);
9696
dasm_setup(&dasm_state, dasm_actions);
97+
zend_jit_align_stub(&dasm_state);
9798
zend_jit_trace_exit_group_stub(&dasm_state, n);
9899

99100
sprintf(name, "jit$$trace_exit_%d", n);

ext/opcache/jit/zend_jit_x86.dasc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3070,6 +3070,12 @@ static int zend_jit_align_func(dasm_State **Dst)
30703070
return 1;
30713071
}
30723072

3073+
static int zend_jit_align_stub(dasm_State **Dst)
3074+
{
3075+
|.align 16
3076+
return 1;
3077+
}
3078+
30733079
static int zend_jit_prologue(dasm_State **Dst)
30743080
{
30753081
| ENDBR

0 commit comments

Comments
 (0)