diff options
author | Xinchen Hui <laruence@gmail.com> | 2016-09-30 13:19:11 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2016-09-30 13:19:11 +0800 |
commit | f211614ba709299a8262c5ae1e1bdc6043e6c91d (patch) | |
tree | afc37f16aa2fc85df44540013ae4d77166c9bc0e | |
parent | c218c4f01eccc39bea20d5e18eac04dd6bb562f3 (diff) | |
download | php-git-f211614ba709299a8262c5ae1e1bdc6043e6c91d.tar.gz |
Use smart branch
-rw-r--r-- | Zend/zend_vm_def.h | 7 | ||||
-rw-r--r-- | Zend/zend_vm_execute.h | 42 |
2 files changed, 14 insertions, 35 deletions
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 67f4f4b150..67fc670879 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -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); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 29fcf61b16..2ec54751ab 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -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); |