@@ -2196,7 +2196,7 @@ static int zend_jit_hybrid_func_counter_stub(dasm_State **Dst)
2196
2196
|->hybrid_func_counter:
2197
2197
| mov r0, EX->func
2198
2198
| mov r1, aword [r0 + offsetof(zend_op_array, reserved[zend_func_info_rid])]
2199
- | mov r2, aword [r1]
2199
+ | mov r2, aword [r1 + offsetof(zend_jit_op_array_hot_extension, counter) ]
2200
2200
| sub word [r2], ZEND_JIT_HOT_FUNC_COST
2201
2201
| jle >1
2202
2202
| GET_IP r2
@@ -2211,9 +2211,9 @@ static int zend_jit_hybrid_func_counter_stub(dasm_State **Dst)
2211
2211
| imul r2, 0xb6db6db7
2212
2212
| .endif
2213
2213
| .if X64
2214
- | jmp aword [r1+r2*8+8 ]
2214
+ | jmp aword [r1+r2*8+offsetof(zend_jit_op_array_hot_extension, orig_handlers) ]
2215
2215
| .else
2216
- | jmp aword [r1+r2*4+4 ]
2216
+ | jmp aword [r1+r2*4+offsetof(zend_jit_op_array_hot_extension, orig_handlers) ]
2217
2217
| .endif
2218
2218
|1:
2219
2219
| mov word [r2], ZEND_JIT_HOT_COUNTER_INIT
@@ -2229,7 +2229,7 @@ static int zend_jit_hybrid_loop_counter_stub(dasm_State **Dst)
2229
2229
|->hybrid_loop_counter:
2230
2230
| mov r0, EX->func
2231
2231
| mov r1, aword [r0 + offsetof(zend_op_array, reserved[zend_func_info_rid])]
2232
- | mov r2, aword [r1]
2232
+ | mov r2, aword [r1 + offsetof(zend_jit_op_array_hot_extension, counter) ]
2233
2233
| sub word [r2], ZEND_JIT_HOT_LOOP_COST
2234
2234
| jle >1
2235
2235
| GET_IP r2
@@ -2244,9 +2244,9 @@ static int zend_jit_hybrid_loop_counter_stub(dasm_State **Dst)
2244
2244
| imul r2, 0xb6db6db7
2245
2245
| .endif
2246
2246
| .if X64
2247
- | jmp aword [r1+r2*8+8 ]
2247
+ | jmp aword [r1+r2*8+offsetof(zend_jit_op_array_hot_extension, orig_handlers) ]
2248
2248
| .else
2249
- | jmp aword [r1+r2*4+4 ]
2249
+ | jmp aword [r1+r2*4+offsetof(zend_jit_op_array_hot_extension, orig_handlers) ]
2250
2250
| .endif
2251
2251
|1:
2252
2252
| mov word [r2], ZEND_JIT_HOT_COUNTER_INIT
0 commit comments