@@ -1093,7 +1093,7 @@ ZEND_VM_C_LABEL(assign_op_object):
10931093
10941094 FREE_OP_DATA ();
10951095 FREE_OP2 ();
1096- FREE_OP1_VAR_PTR ();
1096+ FREE_OP1 ();
10971097 /* assign_obj has two opcodes! */
10981098 ZEND_VM_NEXT_OPCODE_EX (1 , 2 );
10991099}
@@ -1229,7 +1229,7 @@ ZEND_VM_C_LABEL(assign_dim_op_ret_null):
12291229 }
12301230
12311231 FREE_OP2 ();
1232- FREE_OP1_VAR_PTR ();
1232+ FREE_OP1 ();
12331233 ZEND_VM_NEXT_OPCODE_EX (1 , 2 );
12341234}
12351235
@@ -1260,7 +1260,7 @@ ZEND_VM_HANDLER(26, ZEND_ASSIGN_OP, VAR|CV, CONST|TMPVAR|CV, OP)
12601260 }
12611261
12621262 FREE_OP2 ();
1263- FREE_OP1_VAR_PTR ();
1263+ FREE_OP1 ();
12641264 ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
12651265}
12661266
@@ -1328,7 +1328,7 @@ ZEND_VM_C_LABEL(pre_incdec_object):
13281328 } while (0 );
13291329
13301330 FREE_OP2 ();
1331- FREE_OP1_VAR_PTR ();
1331+ FREE_OP1 ();
13321332 ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
13331333}
13341334
@@ -1400,7 +1400,7 @@ ZEND_VM_C_LABEL(post_incdec_object):
14001400 } while (0 );
14011401
14021402 FREE_OP2 ();
1403- FREE_OP1_VAR_PTR ();
1403+ FREE_OP1 ();
14041404 ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
14051405}
14061406
@@ -1490,7 +1490,7 @@ ZEND_VM_HELPER(zend_pre_inc_helper, VAR|CV, ANY)
14901490 ZVAL_COPY (EX_VAR (opline -> result .var ), var_ptr );
14911491 }
14921492
1493- FREE_OP1_VAR_PTR ();
1493+ FREE_OP1 ();
14941494 ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
14951495}
14961496
@@ -1542,7 +1542,7 @@ ZEND_VM_HELPER(zend_pre_dec_helper, VAR|CV, ANY)
15421542 ZVAL_COPY (EX_VAR (opline -> result .var ), var_ptr );
15431543 }
15441544
1545- FREE_OP1_VAR_PTR ();
1545+ FREE_OP1 ();
15461546 ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
15471547}
15481548
@@ -1592,7 +1592,7 @@ ZEND_VM_HELPER(zend_post_inc_helper, VAR|CV, ANY)
15921592 increment_function (var_ptr );
15931593 } while (0 );
15941594
1595- FREE_OP1_VAR_PTR ();
1595+ FREE_OP1 ();
15961596 ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
15971597}
15981598
@@ -1640,7 +1640,7 @@ ZEND_VM_HELPER(zend_post_dec_helper, VAR|CV, ANY)
16401640 decrement_function (var_ptr );
16411641 } while (0 );
16421642
1643- FREE_OP1_VAR_PTR ();
1643+ FREE_OP1 ();
16441644 ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
16451645}
16461646
@@ -2485,7 +2485,7 @@ ZEND_VM_C_LABEL(free_and_exit_assign_obj):
24852485 FREE_OP_DATA ();
24862486ZEND_VM_C_LABEL (exit_assign_obj ):
24872487 FREE_OP2 ();
2488- FREE_OP1_VAR_PTR ();
2488+ FREE_OP1 ();
24892489 /* assign_obj has two opcodes! */
24902490 ZEND_VM_NEXT_OPCODE_EX (1 , 2 );
24912491}
@@ -2634,7 +2634,7 @@ ZEND_VM_C_LABEL(assign_dim_error):
26342634 if (OP2_TYPE != IS_UNUSED ) {
26352635 FREE_OP2 ();
26362636 }
2637- FREE_OP1_VAR_PTR ();
2637+ FREE_OP1 ();
26382638 /* assign_dim has two opcodes! */
26392639 ZEND_VM_NEXT_OPCODE_EX (1 , 2 );
26402640}
@@ -2653,7 +2653,7 @@ ZEND_VM_HANDLER(22, ZEND_ASSIGN, VAR|CV, CONST|TMP|VAR|CV, SPEC(RETVAL))
26532653 if (UNEXPECTED (RETURN_VALUE_USED (opline ))) {
26542654 ZVAL_COPY (EX_VAR (opline -> result .var ), value );
26552655 }
2656- FREE_OP1_VAR_PTR ();
2656+ FREE_OP1 ();
26572657 /* zend_assign_to_variable() always takes care of op2, never free it! */
26582658
26592659 ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
@@ -2688,8 +2688,8 @@ ZEND_VM_HANDLER(30, ZEND_ASSIGN_REF, VAR|CV, VAR|CV, SRC)
26882688 ZVAL_COPY (EX_VAR (opline -> result .var ), variable_ptr );
26892689 }
26902690
2691- FREE_OP2_VAR_PTR ();
2692- FREE_OP1_VAR_PTR ();
2691+ FREE_OP2 ();
2692+ FREE_OP1 ();
26932693 ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
26942694}
26952695
@@ -2723,9 +2723,9 @@ ZEND_VM_HANDLER(32, ZEND_ASSIGN_OBJ_REF, VAR|UNUSED|THIS|CV, CONST|TMPVAR|CV, CA
27232723 zend_assign_to_property_reference (container , OP1_TYPE , property , OP2_TYPE , value_ptr OPLINE_CC EXECUTE_DATA_CC );
27242724 }
27252725
2726- FREE_OP1_VAR_PTR ();
2726+ FREE_OP1 ();
27272727 FREE_OP2 ();
2728- FREE_OP_DATA_VAR_PTR ();
2728+ FREE_OP_DATA ();
27292729 ZEND_VM_NEXT_OPCODE_EX (1 , 2 );
27302730}
27312731
@@ -2760,7 +2760,7 @@ ZEND_VM_HANDLER(33, ZEND_ASSIGN_STATIC_PROP_REF, ANY, ANY, CACHE_SLOT|SRC)
27602760 ZVAL_COPY (EX_VAR (opline -> result .var ), prop );
27612761 }
27622762
2763- FREE_OP_DATA_VAR_PTR ();
2763+ FREE_OP_DATA ();
27642764 ZEND_VM_NEXT_OPCODE_EX (1 , 2 );
27652765}
27662766
@@ -4374,7 +4374,7 @@ ZEND_VM_COLD_CONST_HANDLER(111, ZEND_RETURN_BY_REF, CONST|TMP|VAR|CV, ANY, SRC,
43744374 if (return_value ) {
43754375 ZVAL_NEW_REF (return_value , retval_ptr );
43764376 } else {
4377- FREE_OP1_VAR_PTR ();
4377+ FREE_OP1 ();
43784378 }
43794379 break ;
43804380 }
@@ -4389,7 +4389,7 @@ ZEND_VM_COLD_CONST_HANDLER(111, ZEND_RETURN_BY_REF, CONST|TMP|VAR|CV, ANY, SRC,
43894389 ZVAL_REF (return_value , Z_REF_P (retval_ptr ));
43904390 }
43914391
4392- FREE_OP1_VAR_PTR ();
4392+ FREE_OP1 ();
43934393 } while (0 );
43944394
43954395 ZEND_OBSERVER_FCALL_END (execute_data , return_value );
@@ -4854,7 +4854,7 @@ ZEND_VM_HANDLER(67, ZEND_SEND_REF, VAR|CV, CONST|UNUSED|NUM)
48544854 }
48554855 ZVAL_REF (arg , Z_REF_P (varptr ));
48564856
4857- FREE_OP1_VAR_PTR ();
4857+ FREE_OP1 ();
48584858 ZEND_VM_NEXT_OPCODE ();
48594859}
48604860
@@ -4891,7 +4891,7 @@ ZEND_VM_C_LABEL(send_var_by_ref):
48914891 }
48924892 ZVAL_REF (arg , Z_REF_P (varptr ));
48934893
4894- FREE_OP1_VAR_PTR ();
4894+ FREE_OP1 ();
48954895 ZEND_VM_NEXT_OPCODE ();
48964896 }
48974897
@@ -4984,7 +4984,7 @@ ZEND_VM_HOT_HANDLER(185, ZEND_SEND_FUNC_ARG, VAR, CONST|UNUSED|NUM)
49844984 }
49854985 ZVAL_REF (arg , Z_REF_P (varptr ));
49864986
4987- FREE_OP1_VAR_PTR ();
4987+ FREE_OP1 ();
49884988 ZEND_VM_NEXT_OPCODE ();
49894989 }
49904990
@@ -5910,7 +5910,7 @@ ZEND_VM_HANDLER(72, ZEND_ADD_ARRAY_ELEMENT, CONST|TMP|VAR|CV, CONST|TMPVAR|UNUSE
59105910 } else {
59115911 ZVAL_MAKE_REF_EX (expr_ptr , 2 );
59125912 }
5913- FREE_OP1_VAR_PTR ();
5913+ FREE_OP1 ();
59145914 } else {
59155915 expr_ptr = GET_OP1_ZVAL_PTR (BP_VAR_R );
59165916 if (OP1_TYPE == IS_TMP_VAR ) {
@@ -6496,7 +6496,7 @@ ZEND_VM_C_LABEL(num_index_dim):
64966496 } while (0 );
64976497
64986498 FREE_OP2 ();
6499- FREE_OP1_VAR_PTR ();
6499+ FREE_OP1 ();
65006500 ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
65016501}
65026502
@@ -6541,7 +6541,7 @@ ZEND_VM_HANDLER(76, ZEND_UNSET_OBJ, VAR|UNUSED|THIS|CV, CONST|TMPVAR|CV, CACHE_S
65416541 } while (0 );
65426542
65436543 FREE_OP2 ();
6544- FREE_OP1_VAR_PTR ();
6544+ FREE_OP1 ();
65456545 ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
65466546}
65476547
@@ -6650,9 +6650,7 @@ ZEND_VM_COLD_CONST_HANDLER(125, ZEND_FE_RESET_RW, CONST|TMP|VAR|CV, JMP_ADDR)
66506650 }
66516651 Z_FE_ITER_P (EX_VAR (opline -> result .var )) = zend_hash_iterator_add (Z_ARRVAL_P (array_ptr ), 0 );
66526652
6653- if (OP1_TYPE == IS_VAR ) {
6654- FREE_OP1_VAR_PTR ();
6655- }
6653+ FREE_OP1_IF_VAR ();
66566654 ZEND_VM_NEXT_OPCODE ();
66576655 } else if (OP1_TYPE != IS_CONST && EXPECTED (Z_TYPE_P (array_ptr ) == IS_OBJECT )) {
66586656 if (!Z_OBJCE_P (array_ptr )-> get_iterator ) {
@@ -6679,21 +6677,16 @@ ZEND_VM_COLD_CONST_HANDLER(125, ZEND_FE_RESET_RW, CONST|TMP|VAR|CV, JMP_ADDR)
66796677 properties = Z_OBJPROP_P (array_ptr );
66806678 if (zend_hash_num_elements (properties ) == 0 ) {
66816679 Z_FE_ITER_P (EX_VAR (opline -> result .var )) = (uint32_t ) -1 ;
6682- FREE_OP1_VAR_PTR ();
6680+ FREE_OP1_IF_VAR ();
66836681 ZEND_VM_JMP (OP_JMP_ADDR (opline , opline -> op2 ));
66846682 }
66856683
66866684 Z_FE_ITER_P (EX_VAR (opline -> result .var )) = zend_hash_iterator_add (properties , 0 );
6687- FREE_OP1_VAR_PTR ();
6685+ FREE_OP1_IF_VAR ();
66886686 ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION ();
66896687 } else {
66906688 bool is_empty = zend_fe_reset_iterator (array_ptr , 1 OPLINE_CC EXECUTE_DATA_CC );
6691-
6692- if (OP1_TYPE == IS_VAR ) {
6693- FREE_OP1_VAR_PTR ();
6694- } else {
6695- FREE_OP1 ();
6696- }
6689+ FREE_OP1 ();
66976690 if (UNEXPECTED (EG (exception ))) {
66986691 HANDLE_EXCEPTION ();
66996692 } else if (is_empty ) {
@@ -6706,11 +6699,7 @@ ZEND_VM_COLD_CONST_HANDLER(125, ZEND_FE_RESET_RW, CONST|TMP|VAR|CV, JMP_ADDR)
67066699 zend_error (E_WARNING , "foreach() argument must be of type array|object, %s given" , zend_zval_type_name (array_ptr ));
67076700 ZVAL_UNDEF (EX_VAR (opline -> result .var ));
67086701 Z_FE_ITER_P (EX_VAR (opline -> result .var )) = (uint32_t )-1 ;
6709- if (OP1_TYPE == IS_VAR ) {
6710- FREE_OP1_VAR_PTR ();
6711- } else {
6712- FREE_OP1 ();
6713- }
6702+ FREE_OP1 ();
67146703 ZEND_VM_JMP (OP_JMP_ADDR (opline , opline -> op2 ));
67156704 }
67166705}
@@ -8033,7 +8022,7 @@ ZEND_VM_HANDLER(160, ZEND_YIELD, CONST|TMP|VAR|CV|UNUSED, CONST|TMPVAR|CV|UNUSED
80338022 ZVAL_REF (& generator -> value , Z_REF_P (value_ptr ));
80348023 } while (0 );
80358024
8036- FREE_OP1_VAR_PTR ();
8025+ FREE_OP1 ();
80378026 }
80388027 } else {
80398028 zval * value = GET_OP1_ZVAL_PTR (BP_VAR_R );
0 commit comments