Revert "Change calling convention of zval_update_constant[_ex]() to fastcall."

This reverts commit 5a447b086b.

Revert this ABI break from PHP-8.0, leaving it only on master.
This commit is contained in:
Nikita Popov 2020-10-09 15:05:43 +02:00
parent cc58347105
commit 6188b7a1da
3 changed files with 17 additions and 8 deletions

View file

@ -155,8 +155,8 @@ static zend_always_inline zval* zend_assign_to_variable(zval *variable_ptr, zval
return variable_ptr;
}
ZEND_API zend_result ZEND_FASTCALL zval_update_constant(zval *pp);
ZEND_API zend_result ZEND_FASTCALL zval_update_constant_ex(zval *pp, zend_class_entry *scope);
ZEND_API zend_result zval_update_constant(zval *pp);
ZEND_API zend_result zval_update_constant_ex(zval *pp, zend_class_entry *scope);
/* dedicated Zend executor functions - do not use! */
struct _zend_vm_stack {

View file

@ -610,7 +610,7 @@ ZEND_API zend_bool zend_is_executing(void) /* {{{ */
}
/* }}} */
ZEND_API zend_result ZEND_FASTCALL zval_update_constant_ex(zval *p, zend_class_entry *scope) /* {{{ */
ZEND_API zend_result zval_update_constant_ex(zval *p, zend_class_entry *scope) /* {{{ */
{
if (Z_TYPE_P(p) == IS_CONSTANT_AST) {
zend_ast *ast = Z_ASTVAL_P(p);
@ -638,7 +638,7 @@ ZEND_API zend_result ZEND_FASTCALL zval_update_constant_ex(zval *p, zend_class_e
}
/* }}} */
ZEND_API zend_result ZEND_FASTCALL zval_update_constant(zval *pp) /* {{{ */
ZEND_API zend_result zval_update_constant(zval *pp) /* {{{ */
{
return zval_update_constant_ex(pp, EG(current_execute_data) ? zend_get_executed_scope() : CG(active_class_entry));
}

View file

@ -12408,10 +12408,19 @@ static int zend_jit_recv_init(dasm_State **Dst, const zend_op *opline, const zen
} else {
| ADDR_OP2_2 mov, aword EX->opline, opline, r0
}
| LOAD_ZVAL_ADDR FCARG1a, res_addr
|.if X64
| LOAD_ZVAL_ADDR CARG1, res_addr
| mov r0, EX->func
| mov FCARG2a, [r0 + offsetof(zend_op_array, scope)]
| mov CARG2, [r0 + offsetof(zend_op_array, scope)]
| EXT_CALL zval_update_constant_ex, r0
|.else
| sub r4, 8
| mov r0, EX->func
| push dword [r0 + offsetof(zend_op_array, scope)]
| PUSH_ZVAL_ADDR res_addr, r0
| EXT_CALL zval_update_constant_ex, r0
| add r4, 16
|.endif
| test al, al
| jnz >1
|.cold_code