@@ -10832,6 +10832,39 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BW_NOT_SPEC_TMPVAR
10832
10832
ZEND_VM_TAIL_CALL(zend_bw_not_helper_SPEC(op1 ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
10833
10833
}
10834
10834
10835
+ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_JMP_NULL_SPEC_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
10836
+ {
10837
+ USE_OPLINE
10838
+ zval *val;
10839
+
10840
+ val = EX_VAR(opline->op1.var);
10841
+
10842
+ if (Z_TYPE_INFO_P(val) > IS_NULL) {
10843
+ ZEND_VM_NEXT_OPCODE();
10844
+ } else {
10845
+ zval *result = EX_VAR(opline->result.var);
10846
+
10847
+ if (EXPECTED(opline->extended_value == ZEND_SHORT_CIRCUITING_CHAIN_EXPR)) {
10848
+ if (UNEXPECTED(Z_TYPE_INFO_P(val) == IS_UNDEF)) {
10849
+ SAVE_OPLINE();
10850
+ ZVAL_UNDEFINED_OP1();
10851
+ if (UNEXPECTED(EG(exception) != NULL)) {
10852
+ HANDLE_EXCEPTION();
10853
+ }
10854
+ }
10855
+
10856
+ ZVAL_NULL(result);
10857
+ } else if (opline->extended_value == ZEND_SHORT_CIRCUITING_CHAIN_ISSET) {
10858
+ ZVAL_FALSE(result);
10859
+ } else {
10860
+ ZEND_ASSERT(opline->extended_value == ZEND_SHORT_CIRCUITING_CHAIN_EMPTY);
10861
+ ZVAL_TRUE(result);
10862
+ }
10863
+
10864
+ ZEND_VM_JMP_EX(OP_JMP_ADDR(opline, opline->op2), 0);
10865
+ }
10866
+ }
10867
+
10835
10868
static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
10836
10869
{
10837
10870
USE_OPLINE
@@ -13293,40 +13326,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_TMPVAR_HA
13293
13326
ZEND_VM_NEXT_OPCODE();
13294
13327
}
13295
13328
13296
- static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_JMP_NULL_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
13297
- {
13298
- USE_OPLINE
13299
- zval *val;
13300
-
13301
- val = _get_zval_ptr_var(opline->op1.var EXECUTE_DATA_CC);
13302
-
13303
- if (Z_TYPE_INFO_P(val) > IS_NULL) {
13304
- ZEND_VM_NEXT_OPCODE();
13305
- } else {
13306
- zval *result = EX_VAR(opline->result.var);
13307
-
13308
- if (EXPECTED(opline->extended_value == ZEND_SHORT_CIRCUITING_CHAIN_EXPR)) {
13309
- if (UNEXPECTED(Z_TYPE_INFO_P(val) == IS_UNDEF)) {
13310
- SAVE_OPLINE();
13311
- ZVAL_UNDEFINED_OP1();
13312
- if (UNEXPECTED(EG(exception) != NULL)) {
13313
- HANDLE_EXCEPTION();
13314
- }
13315
- }
13316
-
13317
- ZVAL_NULL(result);
13318
- } else if (opline->extended_value == ZEND_SHORT_CIRCUITING_CHAIN_ISSET) {
13319
- ZVAL_FALSE(result);
13320
- } else {
13321
- ZEND_ASSERT(opline->extended_value == ZEND_SHORT_CIRCUITING_CHAIN_EMPTY);
13322
- ZVAL_TRUE(result);
13323
- }
13324
-
13325
- zval_ptr_dtor_nogc(EX_VAR(opline->op1.var));
13326
- ZEND_VM_JMP_EX(OP_JMP_ADDR(opline, opline->op2), 0);
13327
- }
13328
- }
13329
-
13330
13329
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_FROM_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
13331
13330
{
13332
13331
USE_OPLINE
@@ -36779,39 +36778,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_COALESCE_SPEC_CV_HANDLER(ZEND_
36779
36778
ZEND_VM_NEXT_OPCODE();
36780
36779
}
36781
36780
36782
- static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_JMP_NULL_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
36783
- {
36784
- USE_OPLINE
36785
- zval *val;
36786
-
36787
- val = EX_VAR(opline->op1.var);
36788
-
36789
- if (Z_TYPE_INFO_P(val) > IS_NULL) {
36790
- ZEND_VM_NEXT_OPCODE();
36791
- } else {
36792
- zval *result = EX_VAR(opline->result.var);
36793
-
36794
- if (EXPECTED(opline->extended_value == ZEND_SHORT_CIRCUITING_CHAIN_EXPR)) {
36795
- if (UNEXPECTED(Z_TYPE_INFO_P(val) == IS_UNDEF)) {
36796
- SAVE_OPLINE();
36797
- ZVAL_UNDEFINED_OP1();
36798
- if (UNEXPECTED(EG(exception) != NULL)) {
36799
- HANDLE_EXCEPTION();
36800
- }
36801
- }
36802
-
36803
- ZVAL_NULL(result);
36804
- } else if (opline->extended_value == ZEND_SHORT_CIRCUITING_CHAIN_ISSET) {
36805
- ZVAL_FALSE(result);
36806
- } else {
36807
- ZEND_ASSERT(opline->extended_value == ZEND_SHORT_CIRCUITING_CHAIN_EMPTY);
36808
- ZVAL_TRUE(result);
36809
- }
36810
-
36811
- ZEND_VM_JMP_EX(OP_JMP_ADDR(opline, opline->op2), 0);
36812
- }
36813
- }
36814
-
36815
36781
static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_QM_ASSIGN_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
36816
36782
{
36817
36783
USE_OPLINE
@@ -51231,10 +51197,10 @@ ZEND_API void execute_ex(zend_execute_data *ex)
51231
51197
(void*)&&ZEND_NULL_LABEL,
51232
51198
(void*)&&ZEND_MATCH_ERROR_SPEC_TMPVARCV_UNUSED_LABEL,
51233
51199
(void*)&&ZEND_JMP_NULL_SPEC_CONST_LABEL,
51234
- (void*)&&ZEND_JMP_NULL_SPEC_TMPVAR_LABEL ,
51235
- (void*)&&ZEND_JMP_NULL_SPEC_TMPVAR_LABEL ,
51200
+ (void*)&&ZEND_JMP_NULL_SPEC_TMPVARCV_LABEL ,
51201
+ (void*)&&ZEND_JMP_NULL_SPEC_TMPVARCV_LABEL ,
51236
51202
(void*)&&ZEND_NULL_LABEL,
51237
- (void*)&&ZEND_JMP_NULL_SPEC_CV_LABEL ,
51203
+ (void*)&&ZEND_JMP_NULL_SPEC_TMPVARCV_LABEL ,
51238
51204
(void*)&&ZEND_RECV_NOTYPE_SPEC_LABEL,
51239
51205
(void*)&&ZEND_JMP_FORWARD_SPEC_LABEL,
51240
51206
(void*)&&ZEND_NULL_LABEL,
@@ -53263,6 +53229,10 @@ ZEND_API void execute_ex(zend_execute_data *ex)
53263
53229
VM_TRACE(ZEND_BW_NOT_SPEC_TMPVARCV)
53264
53230
ZEND_BW_NOT_SPEC_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
53265
53231
HYBRID_BREAK();
53232
+ HYBRID_CASE(ZEND_JMP_NULL_SPEC_TMPVARCV):
53233
+ VM_TRACE(ZEND_JMP_NULL_SPEC_TMPVARCV)
53234
+ ZEND_JMP_NULL_SPEC_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
53235
+ HYBRID_BREAK();
53266
53236
HYBRID_CASE(ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV):
53267
53237
VM_TRACE(ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV)
53268
53238
ZEND_QM_ASSIGN_LONG_SPEC_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -53743,10 +53713,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
53743
53713
VM_TRACE(ZEND_INCLUDE_OR_EVAL_SPEC_TMPVAR)
53744
53714
ZEND_INCLUDE_OR_EVAL_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
53745
53715
HYBRID_BREAK();
53746
- HYBRID_CASE(ZEND_JMP_NULL_SPEC_TMPVAR):
53747
- VM_TRACE(ZEND_JMP_NULL_SPEC_TMPVAR)
53748
- ZEND_JMP_NULL_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
53749
- HYBRID_BREAK();
53750
53716
HYBRID_CASE(ZEND_YIELD_FROM_SPEC_TMPVAR):
53751
53717
VM_TRACE(ZEND_YIELD_FROM_SPEC_TMPVAR)
53752
53718
ZEND_YIELD_FROM_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -55562,10 +55528,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
55562
55528
VM_TRACE(ZEND_COALESCE_SPEC_CV)
55563
55529
ZEND_COALESCE_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
55564
55530
HYBRID_BREAK();
55565
- HYBRID_CASE(ZEND_JMP_NULL_SPEC_CV):
55566
- VM_TRACE(ZEND_JMP_NULL_SPEC_CV)
55567
- ZEND_JMP_NULL_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
55568
- HYBRID_BREAK();
55569
55531
HYBRID_CASE(ZEND_QM_ASSIGN_SPEC_CV):
55570
55532
VM_TRACE(ZEND_QM_ASSIGN_SPEC_CV)
55571
55533
ZEND_QM_ASSIGN_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -58875,10 +58837,10 @@ void zend_vm_init(void)
58875
58837
ZEND_NULL_HANDLER,
58876
58838
ZEND_MATCH_ERROR_SPEC_TMPVARCV_UNUSED_HANDLER,
58877
58839
ZEND_JMP_NULL_SPEC_CONST_HANDLER,
58878
- ZEND_JMP_NULL_SPEC_TMPVAR_HANDLER ,
58879
- ZEND_JMP_NULL_SPEC_TMPVAR_HANDLER ,
58840
+ ZEND_JMP_NULL_SPEC_TMPVARCV_HANDLER ,
58841
+ ZEND_JMP_NULL_SPEC_TMPVARCV_HANDLER ,
58880
58842
ZEND_NULL_HANDLER,
58881
- ZEND_JMP_NULL_SPEC_CV_HANDLER ,
58843
+ ZEND_JMP_NULL_SPEC_TMPVARCV_HANDLER ,
58882
58844
ZEND_RECV_NOTYPE_SPEC_HANDLER,
58883
58845
ZEND_JMP_FORWARD_SPEC_HANDLER,
58884
58846
ZEND_NULL_HANDLER,
0 commit comments