From 3b27689d46ae8b0a9dc98b62a810d83de395f2f9 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Thu, 13 Jun 2019 12:11:23 +0200 Subject: [PATCH] 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. --- ext/opcache/jit/zend_jit_x86.dasc | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) 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; } -- 2.50.1