]> granicus.if.org Git - php/commitdiff
Removed dead code
authorDmitry Stogov <dmitry@zend.com>
Mon, 28 May 2018 15:29:43 +0000 (18:29 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 28 May 2018 15:29:43 +0000 (18:29 +0300)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 471725107b63e3be9536db923f66988cf37d778d..59217d2bb0178096d0193ff55a126a933d226307 100644 (file)
@@ -5820,7 +5820,9 @@ ZEND_VM_HANDLER(78, ZEND_FE_FETCH_R, VAR, ANY, JMP_ADDR)
                while (1) {
                        if (UNEXPECTED(pos >= fe_ht->nNumUsed)) {
                                /* reached end of iteration */
-                               ZEND_VM_C_GOTO(fe_fetch_r_exit);
+ZEND_VM_C_LABEL(fe_fetch_r_exit):
+                               ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
+                               ZEND_VM_CONTINUE();
                        }
                        value = &p->val;
                        value_type = Z_TYPE_INFO_P(value);
@@ -5846,9 +5848,10 @@ ZEND_VM_HANDLER(78, ZEND_FE_FETCH_R, VAR, ANY, JMP_ADDR)
                                ZVAL_STR_COPY(EX_VAR(opline->result.var), p->key);
                        }
                }
-       } else if (EXPECTED(Z_TYPE_P(array) == IS_OBJECT)) {
+       } else {
                zend_object_iterator *iter;
 
+               ZEND_ASSERT(Z_TYPE_P(array) == IS_OBJECT);
                if ((iter = zend_iterator_unwrap(array)) == NULL) {
                        /* plain object */
 
@@ -5932,15 +5935,6 @@ ZEND_VM_HANDLER(78, ZEND_FE_FETCH_R, VAR, ANY, JMP_ADDR)
                        }
                        value_type = Z_TYPE_INFO_P(value);
                }
-       } else {
-               zend_error(E_WARNING, "Invalid argument supplied for foreach()");
-               if (UNEXPECTED(EG(exception))) {
-                       UNDEF_RESULT();
-                       HANDLE_EXCEPTION();
-               }
-ZEND_VM_C_LABEL(fe_fetch_r_exit):
-               ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
-               ZEND_VM_CONTINUE();
        }
 
        if (EXPECTED(OP2_TYPE == IS_CV)) {
index 6889571b5035611ca5dc524e59b1aad01012d373..ee402b96447f63229f9aa09ae1e1a15eac31d7f0 100644 (file)
@@ -21258,7 +21258,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_FETCH_R_SPEC_VAR_HANDLER(ZE
                while (1) {
                        if (UNEXPECTED(pos >= fe_ht->nNumUsed)) {
                                /* reached end of iteration */
-                               goto fe_fetch_r_exit;
+fe_fetch_r_exit:
+                               ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
+                               ZEND_VM_CONTINUE();
                        }
                        value = &p->val;
                        value_type = Z_TYPE_INFO_P(value);
@@ -21284,9 +21286,10 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_FETCH_R_SPEC_VAR_HANDLER(ZE
                                ZVAL_STR_COPY(EX_VAR(opline->result.var), p->key);
                        }
                }
-       } else if (EXPECTED(Z_TYPE_P(array) == IS_OBJECT)) {
+       } else {
                zend_object_iterator *iter;
 
+               ZEND_ASSERT(Z_TYPE_P(array) == IS_OBJECT);
                if ((iter = zend_iterator_unwrap(array)) == NULL) {
                        /* plain object */
 
@@ -21370,15 +21373,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_FETCH_R_SPEC_VAR_HANDLER(ZE
                        }
                        value_type = Z_TYPE_INFO_P(value);
                }
-       } else {
-               zend_error(E_WARNING, "Invalid argument supplied for foreach()");
-               if (UNEXPECTED(EG(exception))) {
-                       UNDEF_RESULT();
-                       HANDLE_EXCEPTION();
-               }
-fe_fetch_r_exit:
-               ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
-               ZEND_VM_CONTINUE();
        }
 
        if (EXPECTED(opline->op2_type == IS_CV)) {