@@ -5148,6 +5148,10 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_
5148
5148
EXPECTED(obj == orig_obj)) {
5149
5149
CACHE_POLYMORPHIC_PTR(opline->result.num, called_scope, fbc);
5150
5150
}
5151
+ if ((IS_CONST & (IS_VAR|IS_TMP_VAR)) && UNEXPECTED(obj != orig_obj)) {
5152
+ /* Reset "object" to trigger reference counting */
5153
+ object = NULL;
5154
+ }
5151
5155
if (EXPECTED(fbc->type == ZEND_USER_FUNCTION) && UNEXPECTED(!fbc->op_array.run_time_cache)) {
5152
5156
init_func_run_time_cache(&fbc->op_array);
5153
5157
}
@@ -7325,6 +7329,10 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_
7325
7329
EXPECTED(obj == orig_obj)) {
7326
7330
CACHE_POLYMORPHIC_PTR(opline->result.num, called_scope, fbc);
7327
7331
}
7332
+ if ((IS_CONST & (IS_VAR|IS_TMP_VAR)) && UNEXPECTED(obj != orig_obj)) {
7333
+ /* Reset "object" to trigger reference counting */
7334
+ object = NULL;
7335
+ }
7328
7336
if (EXPECTED(fbc->type == ZEND_USER_FUNCTION) && UNEXPECTED(!fbc->op_array.run_time_cache)) {
7329
7337
init_func_run_time_cache(&fbc->op_array);
7330
7338
}
@@ -10421,6 +10429,10 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_
10421
10429
EXPECTED(obj == orig_obj)) {
10422
10430
CACHE_POLYMORPHIC_PTR(opline->result.num, called_scope, fbc);
10423
10431
}
10432
+ if ((IS_CONST & (IS_VAR|IS_TMP_VAR)) && UNEXPECTED(obj != orig_obj)) {
10433
+ /* Reset "object" to trigger reference counting */
10434
+ object = NULL;
10435
+ }
10424
10436
if (EXPECTED(fbc->type == ZEND_USER_FUNCTION) && UNEXPECTED(!fbc->op_array.run_time_cache)) {
10425
10437
init_func_run_time_cache(&fbc->op_array);
10426
10438
}
@@ -14149,6 +14161,10 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_C
14149
14161
EXPECTED(obj == orig_obj)) {
14150
14162
CACHE_POLYMORPHIC_PTR(opline->result.num, called_scope, fbc);
14151
14163
}
14164
+ if (((IS_TMP_VAR|IS_VAR) & (IS_VAR|IS_TMP_VAR)) && UNEXPECTED(obj != orig_obj)) {
14165
+ /* Reset "object" to trigger reference counting */
14166
+ object = NULL;
14167
+ }
14152
14168
if (EXPECTED(fbc->type == ZEND_USER_FUNCTION) && UNEXPECTED(!fbc->op_array.run_time_cache)) {
14153
14169
init_func_run_time_cache(&fbc->op_array);
14154
14170
}
@@ -15759,6 +15775,10 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_T
15759
15775
EXPECTED(obj == orig_obj)) {
15760
15776
CACHE_POLYMORPHIC_PTR(opline->result.num, called_scope, fbc);
15761
15777
}
15778
+ if (((IS_TMP_VAR|IS_VAR) & (IS_VAR|IS_TMP_VAR)) && UNEXPECTED(obj != orig_obj)) {
15779
+ /* Reset "object" to trigger reference counting */
15780
+ object = NULL;
15781
+ }
15762
15782
if (EXPECTED(fbc->type == ZEND_USER_FUNCTION) && UNEXPECTED(!fbc->op_array.run_time_cache)) {
15763
15783
init_func_run_time_cache(&fbc->op_array);
15764
15784
}
@@ -17636,6 +17656,10 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_TMPVAR_C
17636
17656
EXPECTED(obj == orig_obj)) {
17637
17657
CACHE_POLYMORPHIC_PTR(opline->result.num, called_scope, fbc);
17638
17658
}
17659
+ if (((IS_TMP_VAR|IS_VAR) & (IS_VAR|IS_TMP_VAR)) && UNEXPECTED(obj != orig_obj)) {
17660
+ /* Reset "object" to trigger reference counting */
17661
+ object = NULL;
17662
+ }
17639
17663
if (EXPECTED(fbc->type == ZEND_USER_FUNCTION) && UNEXPECTED(!fbc->op_array.run_time_cache)) {
17640
17664
init_func_run_time_cache(&fbc->op_array);
17641
17665
}
@@ -32081,6 +32105,10 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_S
32081
32105
EXPECTED(obj == orig_obj)) {
32082
32106
CACHE_POLYMORPHIC_PTR(opline->result.num, called_scope, fbc);
32083
32107
}
32108
+ if ((IS_UNUSED & (IS_VAR|IS_TMP_VAR)) && UNEXPECTED(obj != orig_obj)) {
32109
+ /* Reset "object" to trigger reference counting */
32110
+ object = NULL;
32111
+ }
32084
32112
if (EXPECTED(fbc->type == ZEND_USER_FUNCTION) && UNEXPECTED(!fbc->op_array.run_time_cache)) {
32085
32113
init_func_run_time_cache(&fbc->op_array);
32086
32114
}
@@ -33812,6 +33840,10 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_T
33812
33840
EXPECTED(obj == orig_obj)) {
33813
33841
CACHE_POLYMORPHIC_PTR(opline->result.num, called_scope, fbc);
33814
33842
}
33843
+ if ((IS_UNUSED & (IS_VAR|IS_TMP_VAR)) && UNEXPECTED(obj != orig_obj)) {
33844
+ /* Reset "object" to trigger reference counting */
33845
+ object = NULL;
33846
+ }
33815
33847
if (EXPECTED(fbc->type == ZEND_USER_FUNCTION) && UNEXPECTED(!fbc->op_array.run_time_cache)) {
33816
33848
init_func_run_time_cache(&fbc->op_array);
33817
33849
}
@@ -36187,6 +36219,10 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_UNUSED_C
36187
36219
EXPECTED(obj == orig_obj)) {
36188
36220
CACHE_POLYMORPHIC_PTR(opline->result.num, called_scope, fbc);
36189
36221
}
36222
+ if ((IS_UNUSED & (IS_VAR|IS_TMP_VAR)) && UNEXPECTED(obj != orig_obj)) {
36223
+ /* Reset "object" to trigger reference counting */
36224
+ object = NULL;
36225
+ }
36190
36226
if (EXPECTED(fbc->type == ZEND_USER_FUNCTION) && UNEXPECTED(!fbc->op_array.run_time_cache)) {
36191
36227
init_func_run_time_cache(&fbc->op_array);
36192
36228
}
@@ -41208,6 +41244,10 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_S
41208
41244
EXPECTED(obj == orig_obj)) {
41209
41245
CACHE_POLYMORPHIC_PTR(opline->result.num, called_scope, fbc);
41210
41246
}
41247
+ if ((IS_CV & (IS_VAR|IS_TMP_VAR)) && UNEXPECTED(obj != orig_obj)) {
41248
+ /* Reset "object" to trigger reference counting */
41249
+ object = NULL;
41250
+ }
41211
41251
if (EXPECTED(fbc->type == ZEND_USER_FUNCTION) && UNEXPECTED(!fbc->op_array.run_time_cache)) {
41212
41252
init_func_run_time_cache(&fbc->op_array);
41213
41253
}
@@ -44971,6 +45011,10 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_TMPVA
44971
45011
EXPECTED(obj == orig_obj)) {
44972
45012
CACHE_POLYMORPHIC_PTR(opline->result.num, called_scope, fbc);
44973
45013
}
45014
+ if ((IS_CV & (IS_VAR|IS_TMP_VAR)) && UNEXPECTED(obj != orig_obj)) {
45015
+ /* Reset "object" to trigger reference counting */
45016
+ object = NULL;
45017
+ }
44974
45018
if (EXPECTED(fbc->type == ZEND_USER_FUNCTION) && UNEXPECTED(!fbc->op_array.run_time_cache)) {
44975
45019
init_func_run_time_cache(&fbc->op_array);
44976
45020
}
@@ -50769,6 +50813,10 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_METHOD_CALL_SPEC_CV_CV_HA
50769
50813
EXPECTED(obj == orig_obj)) {
50770
50814
CACHE_POLYMORPHIC_PTR(opline->result.num, called_scope, fbc);
50771
50815
}
50816
+ if ((IS_CV & (IS_VAR|IS_TMP_VAR)) && UNEXPECTED(obj != orig_obj)) {
50817
+ /* Reset "object" to trigger reference counting */
50818
+ object = NULL;
50819
+ }
50772
50820
if (EXPECTED(fbc->type == ZEND_USER_FUNCTION) && UNEXPECTED(!fbc->op_array.run_time_cache)) {
50773
50821
init_func_run_time_cache(&fbc->op_array);
50774
50822
}
0 commit comments