From: Nikita Popov Date: Thu, 13 Jun 2019 10:11:23 +0000 (+0200) Subject: Fix helper call on 32-bit X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3b27689d46ae8b0a9dc98b62a810d83de395f2f9;p=php Fix helper call on 32-bit This is using the fast-call calling convention. Use FCARG1a and same code for 32-bit and 64-bit. --- diff --git a/ext/opcache/jit/zend_jit_x86.dasc b/ext/opcache/jit/zend_jit_x86.dasc index 1d57ea30bb..a400288c11 100644 --- a/ext/opcache/jit/zend_jit_x86.dasc +++ b/ext/opcache/jit/zend_jit_x86.dasc @@ -8022,15 +8022,8 @@ static int zend_jit_send_var(dasm_State **Dst, const zend_op *opline, zend_op_ar | test dword [r0 + offsetof(zend_function, quick_arg_flags)], mask | jnz >7 | SAVE_VALID_OPLINE opline - |.if X64 - | LOAD_ZVAL_ADDR CARG1, arg_addr - | EXT_CALL zend_jit_only_vars_by_reference, r0 - |.else - | sub r4, 8 - | PUSH_ZVAL_ADDR arg_addr, r0 - | EXT_CALL zend_jit_only_vars_by_reference, r0 - | add r4, 16 - |.endif + | LOAD_ZVAL_ADDR FCARG1a, arg_addr + | EXT_CALL zend_jit_only_vars_by_reference, r0 if (!zend_jit_check_exception(Dst)) { return 0; } @@ -8067,15 +8060,8 @@ static int zend_jit_send_var(dasm_State **Dst, const zend_op *opline, zend_op_ar | je >7 } | SAVE_VALID_OPLINE opline - |.if X64 - | LOAD_ZVAL_ADDR CARG1, arg_addr - | EXT_CALL zend_jit_only_vars_by_reference, r0 - |.else - | sub r4, 8 - | PUSH_ZVAL_ADDR arg_addr, r0 - | EXT_CALL zend_jit_only_vars_by_reference, r0 - | add r4, 16 - |.endif + | LOAD_ZVAL_ADDR FCARG1a, arg_addr + | EXT_CALL zend_jit_only_vars_by_reference, r0 if (!zend_jit_check_exception(Dst)) { return 0; }