@@ -2944,6 +2944,10 @@ static zend_always_inline zend_result _zend_update_type_info(
2944
2944
}
2945
2945
UPDATE_SSA_TYPE (tmp , ssa_op -> op1_def );
2946
2946
break ;
2947
+ case ZEND_JMP_STATIC_DEF :
2948
+ tmp = MAY_BE_ANY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF | MAY_BE_REF ;
2949
+ UPDATE_SSA_TYPE (tmp , ssa_op -> op1_def );
2950
+ break ;
2947
2951
case ZEND_SEND_VAR :
2948
2952
if (ssa_op -> op1_def >= 0 ) {
2949
2953
tmp = t1 ;
@@ -4361,6 +4365,7 @@ static void zend_mark_cv_references(const zend_op_array *op_array, const zend_sc
4361
4365
case ZEND_SEND_REF :
4362
4366
case ZEND_SEND_VAR_EX :
4363
4367
case ZEND_SEND_FUNC_ARG :
4368
+ case ZEND_JMP_STATIC_DEF :
4364
4369
break ;
4365
4370
case ZEND_INIT_ARRAY :
4366
4371
case ZEND_ADD_ARRAY_ELEMENT :
@@ -4516,6 +4521,7 @@ ZEND_API bool zend_may_throw_ex(const zend_op *opline, const zend_ssa_op *ssa_op
4516
4521
case ZEND_ASSIGN_REF :
4517
4522
case ZEND_BIND_GLOBAL :
4518
4523
case ZEND_BIND_STATIC :
4524
+ case ZEND_JMP_STATIC_DEF :
4519
4525
case ZEND_FETCH_DIM_IS :
4520
4526
case ZEND_FETCH_OBJ_IS :
4521
4527
case ZEND_SEND_REF :
@@ -4753,14 +4759,12 @@ ZEND_API bool zend_may_throw_ex(const zend_op *opline, const zend_ssa_op *ssa_op
4753
4759
case ZEND_UNSET_VAR :
4754
4760
return (t1 & (MAY_BE_OBJECT |MAY_BE_RESOURCE |MAY_BE_ARRAY_OF_OBJECT |MAY_BE_ARRAY_OF_RESOURCE |MAY_BE_ARRAY_OF_ARRAY ));
4755
4761
case ZEND_BIND_STATIC :
4762
+ case ZEND_JMP_STATIC_DEF :
4756
4763
if (t1 & (MAY_BE_OBJECT |MAY_BE_RESOURCE |MAY_BE_ARRAY_OF_OBJECT |MAY_BE_ARRAY_OF_RESOURCE |MAY_BE_ARRAY_OF_ARRAY )) {
4757
4764
/* Destructor may throw. */
4758
4765
return 1 ;
4759
- } else {
4760
- zval * value = (zval * )((char * )op_array -> static_variables -> arData + (opline -> extended_value & ~(ZEND_BIND_REF |ZEND_BIND_IMPLICIT |ZEND_BIND_EXPLICIT )));
4761
- /* May throw if initializer is CONSTANT_AST. */
4762
- return Z_TYPE_P (value ) == IS_CONSTANT_AST ;
4763
4766
}
4767
+ return 0 ;
4764
4768
case ZEND_ASSIGN_DIM :
4765
4769
if ((opline + 1 )-> op1_type == IS_CV ) {
4766
4770
if (_ssa_op1_info (op_array , ssa , opline + 1 , ssa_op + 1 ) & MAY_BE_UNDEF ) {
0 commit comments