Skip to content

Commit 7f3a296

Browse files
committed
Fixed tracing JIT for CALL VM
1 parent c5cf0af commit 7f3a296

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

ext/opcache/jit/zend_jit_x86.dasc

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2433,7 +2433,11 @@ static int zend_jit_trace_exit_stub(dasm_State **Dst)
24332433
}
24342434

24352435
|1:
2436-
| jl ->trace_halt
2436+
if (zend_jit_vm_kind == ZEND_VM_KIND_HYBRID) {
2437+
| jl ->trace_halt
2438+
} else {
2439+
| jl >2
2440+
}
24372441

24382442
| // execute_data = EG(current_execute_data)
24392443
| MEM_OP2_2_ZTS mov, FP, aword, executor_globals, current_execute_data, r0
@@ -2456,6 +2460,9 @@ static int zend_jit_trace_exit_stub(dasm_State **Dst)
24562460
| mov r0, aword [r0 + offsetof(zend_op_array, reserved[zend_func_info_rid])]
24572461
| mov r0, aword [r0 + offsetof(zend_jit_op_array_trace_extension, offset)]
24582462
| jmp aword [IP + r0]
2463+
|2:
2464+
| add r4, SPAD // stack alignment
2465+
| ret
24592466
} else {
24602467
| mov IP, aword EX->opline
24612468
| mov FCARG1a, FP
@@ -2468,6 +2475,9 @@ static int zend_jit_trace_exit_stub(dasm_State **Dst)
24682475
| add r4, NR_SPAD // stack alignment
24692476
| mov r0, 1 // ZEND_VM_ENTER
24702477
| ret
2478+
|2:
2479+
| add r4, NR_SPAD // stack alignment
2480+
| ret
24712481
}
24722482

24732483
return 1;

0 commit comments

Comments
 (0)