]> granicus.if.org Git - php/commitdiff
Use smart branch
authorXinchen Hui <laruence@gmail.com>
Fri, 30 Sep 2016 05:19:11 +0000 (13:19 +0800)
committerXinchen Hui <laruence@gmail.com>
Fri, 30 Sep 2016 05:19:11 +0000 (13:19 +0800)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 67f4f4b1504ed230c751e04655ea80317b3bd1c8..67fc670879652f366adbcdc6888dc4295320cd0a 100644 (file)
@@ -7052,12 +7052,9 @@ ZEND_VM_C_LABEL(try_instanceof):
                        ce = CACHED_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)));
                        if (UNEXPECTED(ce == NULL)) {
                                ce = zend_fetch_class_by_name(Z_STR_P(EX_CONSTANT(opline->op2)), EX_CONSTANT(opline->op2) + 1, ZEND_FETCH_CLASS_NO_AUTOLOAD);
-                               if (UNEXPECTED(ce == NULL)) {
-                                       ZVAL_FALSE(EX_VAR(opline->result.var));
-                                       FREE_OP1();
-                                       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+                               if (EXPECTED(ce)) {
+                                       CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), ce);
                                }
-                               CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), ce);
                        }
                } else if (OP2_TYPE == IS_UNUSED) {
                        ce = zend_fetch_class(NULL, opline->op2.num);
index 29fcf61b162cb94ab73dae0e85c4cdc57ad93bc2..2ec54751ab273f7d261fb259ecca6ea6463db7c2 100644 (file)
@@ -40279,12 +40279,9 @@ try_instanceof:
                        ce = CACHED_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)));
                        if (UNEXPECTED(ce == NULL)) {
                                ce = zend_fetch_class_by_name(Z_STR_P(EX_CONSTANT(opline->op2)), EX_CONSTANT(opline->op2) + 1, ZEND_FETCH_CLASS_NO_AUTOLOAD);
-                               if (UNEXPECTED(ce == NULL)) {
-                                       ZVAL_FALSE(EX_VAR(opline->result.var));
-
-                                       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+                               if (EXPECTED(ce)) {
+                                       CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), ce);
                                }
-                               CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), ce);
                        }
                } else if (IS_CONST == IS_UNUSED) {
                        ce = zend_fetch_class(NULL, opline->op2.num);
@@ -41302,12 +41299,9 @@ try_instanceof:
                        ce = CACHED_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)));
                        if (UNEXPECTED(ce == NULL)) {
                                ce = zend_fetch_class_by_name(Z_STR_P(EX_CONSTANT(opline->op2)), EX_CONSTANT(opline->op2) + 1, ZEND_FETCH_CLASS_NO_AUTOLOAD);
-                               if (UNEXPECTED(ce == NULL)) {
-                                       ZVAL_FALSE(EX_VAR(opline->result.var));
-
-                                       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+                               if (EXPECTED(ce)) {
+                                       CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), ce);
                                }
-                               CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), ce);
                        }
                } else if (IS_VAR == IS_UNUSED) {
                        ce = zend_fetch_class(NULL, opline->op2.num);
@@ -42975,12 +42969,9 @@ try_instanceof:
                        ce = CACHED_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)));
                        if (UNEXPECTED(ce == NULL)) {
                                ce = zend_fetch_class_by_name(Z_STR_P(EX_CONSTANT(opline->op2)), EX_CONSTANT(opline->op2) + 1, ZEND_FETCH_CLASS_NO_AUTOLOAD);
-                               if (UNEXPECTED(ce == NULL)) {
-                                       ZVAL_FALSE(EX_VAR(opline->result.var));
-
-                                       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+                               if (EXPECTED(ce)) {
+                                       CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), ce);
                                }
-                               CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), ce);
                        }
                } else if (IS_UNUSED == IS_UNUSED) {
                        ce = zend_fetch_class(NULL, opline->op2.num);
@@ -53177,12 +53168,9 @@ try_instanceof:
                        ce = CACHED_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)));
                        if (UNEXPECTED(ce == NULL)) {
                                ce = zend_fetch_class_by_name(Z_STR_P(EX_CONSTANT(opline->op2)), EX_CONSTANT(opline->op2) + 1, ZEND_FETCH_CLASS_NO_AUTOLOAD);
-                               if (UNEXPECTED(ce == NULL)) {
-                                       ZVAL_FALSE(EX_VAR(opline->result.var));
-                                       zval_ptr_dtor_nogc(free_op1);
-                                       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+                               if (EXPECTED(ce)) {
+                                       CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), ce);
                                }
-                               CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), ce);
                        }
                } else if (IS_CONST == IS_UNUSED) {
                        ce = zend_fetch_class(NULL, opline->op2.num);
@@ -53556,12 +53544,9 @@ try_instanceof:
                        ce = CACHED_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)));
                        if (UNEXPECTED(ce == NULL)) {
                                ce = zend_fetch_class_by_name(Z_STR_P(EX_CONSTANT(opline->op2)), EX_CONSTANT(opline->op2) + 1, ZEND_FETCH_CLASS_NO_AUTOLOAD);
-                               if (UNEXPECTED(ce == NULL)) {
-                                       ZVAL_FALSE(EX_VAR(opline->result.var));
-                                       zval_ptr_dtor_nogc(free_op1);
-                                       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+                               if (EXPECTED(ce)) {
+                                       CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), ce);
                                }
-                               CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), ce);
                        }
                } else if (IS_VAR == IS_UNUSED) {
                        ce = zend_fetch_class(NULL, opline->op2.num);
@@ -54160,12 +54145,9 @@ try_instanceof:
                        ce = CACHED_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)));
                        if (UNEXPECTED(ce == NULL)) {
                                ce = zend_fetch_class_by_name(Z_STR_P(EX_CONSTANT(opline->op2)), EX_CONSTANT(opline->op2) + 1, ZEND_FETCH_CLASS_NO_AUTOLOAD);
-                               if (UNEXPECTED(ce == NULL)) {
-                                       ZVAL_FALSE(EX_VAR(opline->result.var));
-                                       zval_ptr_dtor_nogc(free_op1);
-                                       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+                               if (EXPECTED(ce)) {
+                                       CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), ce);
                                }
-                               CACHE_PTR(Z_CACHE_SLOT_P(EX_CONSTANT(opline->op2)), ce);
                        }
                } else if (IS_UNUSED == IS_UNUSED) {
                        ce = zend_fetch_class(NULL, opline->op2.num);