mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Merge branch 'PHP-8.3'
* PHP-8.3: Fix inference of COPY_TMP
This commit is contained in:
commit
c01fb83fee
3 changed files with 7 additions and 1 deletions
|
@ -2697,7 +2697,10 @@ static zend_always_inline zend_result _zend_update_type_info(
|
||||||
UPDATE_SSA_TYPE(tmp, ssa_op->op1_def);
|
UPDATE_SSA_TYPE(tmp, ssa_op->op1_def);
|
||||||
COPY_SSA_OBJ_TYPE(ssa_op->op1_use, ssa_op->op1_def);
|
COPY_SSA_OBJ_TYPE(ssa_op->op1_use, ssa_op->op1_def);
|
||||||
}
|
}
|
||||||
tmp = t1 & ~(MAY_BE_UNDEF|MAY_BE_REF);
|
tmp = t1 & ~MAY_BE_UNDEF;
|
||||||
|
if (opline->opcode != ZEND_COPY_TMP || opline->op1_type != IS_VAR) {
|
||||||
|
tmp &= ~MAY_BE_REF;
|
||||||
|
}
|
||||||
if (t1 & MAY_BE_UNDEF) {
|
if (t1 & MAY_BE_UNDEF) {
|
||||||
tmp |= MAY_BE_NULL;
|
tmp |= MAY_BE_NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9516,6 +9516,7 @@ ZEND_VM_HANDLER(172, ZEND_FUNC_GET_ARGS, UNUSED|CONST, UNUSED)
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Contrary to what its name indicates, ZEND_COPY_TMP may receive and define references. */
|
||||||
ZEND_VM_HANDLER(167, ZEND_COPY_TMP, TMPVAR, UNUSED)
|
ZEND_VM_HANDLER(167, ZEND_COPY_TMP, TMPVAR, UNUSED)
|
||||||
{
|
{
|
||||||
USE_OPLINE
|
USE_OPLINE
|
||||||
|
|
2
Zend/zend_vm_execute.h
generated
2
Zend/zend_vm_execute.h
generated
|
@ -11085,6 +11085,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FUNC_GET_ARGS_SPEC_CONST_UNUSE
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Contrary to what its name indicates, ZEND_COPY_TMP may receive and define references. */
|
||||||
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DIV_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DIV_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||||
{
|
{
|
||||||
USE_OPLINE
|
USE_OPLINE
|
||||||
|
@ -37183,6 +37184,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FUNC_GET_ARGS_SPEC_UNUSED_UNUS
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Contrary to what its name indicates, ZEND_COPY_TMP may receive and define references. */
|
||||||
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CALLABLE_CONVERT_SPEC_UNUSED_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CALLABLE_CONVERT_SPEC_UNUSED_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||||
{
|
{
|
||||||
USE_OPLINE
|
USE_OPLINE
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue