com php-src: Optimization: Zend/zend_execute.c Zend/zend _execute.h Zend/zend_vm_def.h Zend/zend_vm_ex ecute.h

From: Date: Thu, 26 May 2016 12:48:41 +0000
Subject: com php-src: Optimization: Zend/zend_execute.c Zend/zend _execute.h Zend/zend_vm_def.h Zend/zend_vm_ex ecute.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-95497@lists.php.net to get a copy of this message
Commit: 8beea3d96f2801a8923b02a0560ac7a5f7170e1d Author: Dmitry Stogov <dmitry@zend.com> Thu, 26 May 2016 15:48:41 +0300 Parents: fc41cdca81c15a8a7cc048c4178fe03011b95de9 Branches: typed_ref_properties Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=8beea3d96f2801a8923b02a0560ac7a5f7170e1d Log: Optimization Changed paths: M Zend/zend_execute.c M Zend/zend_execute.h M Zend/zend_vm_def.h M Zend/zend_vm_execute.h

diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 8dc573a..136b905 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1540,12 +1540,10 @@ static zend_never_inline void zend_pre_incdec_overloaded_property(zval *object, if (EXPECTED(cache_slot)) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE(obj), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE(obj), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy; @@ -1613,12 +1611,10 @@ static zend_never_inline void zend_assign_op_overloaded_property(zval *object, z if (EXPECTED(cache_slot)) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE(obj), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE(obj), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy; @@ -2145,12 +2141,9 @@ return_indirect: if (prop_op_type == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(container), Z_STR_P(prop_ptr), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(container), Z_STR_P(prop_ptr), NULL); } - if (EXPECTED(prop_info) - && (prop_op_type == IS_CONST - || UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zend_throw_exception_ex( zend_ce_type_error, prop_info->type, "Typed property %s::$%s must not be referenced", diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h index f670eeb..c8a14ac 100644 --- a/Zend/zend_execute.h +++ b/Zend/zend_execute.h @@ -381,7 +381,9 @@ static zend_always_inline zend_property_info* zend_object_fetch_property_type_in info = zend_get_property_info(Z_OBJCE_P(object), property, 1); - if (UNEXPECTED(info && info != ZEND_WRONG_PROPERTY_INFO && info->type)) { + if (EXPECTED(info) + && UNEXPECTED(info != ZEND_WRONG_PROPERTY_INFO) + && UNEXPECTED(info->type)) { return info; } diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 8c78af0..89c080c 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -751,11 +751,9 @@ ZEND_VM_HELPER(zend_binary_assign_op_obj_helper, VAR|UNUSED|CV, CONST|TMPVAR|CV, if (OP2_TYPE == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)){ /* special case for typed properties */ zval z_copy, tmp, *val; @@ -1216,11 +1214,9 @@ ZEND_VM_HELPER(zend_pre_incdec_property_helper, VAR|UNUSED|CV, CONST|TMPVAR|CV, if (OP2_TYPE == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -1240,11 +1236,9 @@ ZEND_VM_HELPER(zend_pre_incdec_property_helper, VAR|UNUSED|CV, CONST|TMPVAR|CV, if (OP2_TYPE == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -1344,11 +1338,9 @@ ZEND_VM_HELPER(zend_post_incdec_property_helper, VAR|UNUSED|CV, CONST|TMPVAR|CV, if (OP2_TYPE == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -1369,11 +1361,9 @@ ZEND_VM_HELPER(zend_post_incdec_property_helper, VAR|UNUSED|CV, CONST|TMPVAR|CV, if (OP2_TYPE == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index baf6b35..0dfe79f 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -17005,11 +17005,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_obj_helper_SP if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)){ /* special case for typed properties */ zval z_copy, tmp, *val; @@ -17948,11 +17946,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -17972,11 +17968,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -18075,11 +18069,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -18100,11 +18092,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -22229,11 +22219,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_obj_helper_SP if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)){ /* special case for typed properties */ zval z_copy, tmp, *val; @@ -23172,11 +23160,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -23196,11 +23182,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -23299,11 +23283,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -23324,11 +23306,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -25552,11 +25532,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_obj_helper_SP if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)){ /* special case for typed properties */ zval z_copy, tmp, *val; @@ -26497,11 +26475,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -26521,11 +26497,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -26625,11 +26599,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -26650,11 +26622,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -28806,11 +28776,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_obj_helper_SP if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)){ /* special case for typed properties */ zval z_copy, tmp, *val; @@ -29479,11 +29447,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -29503,11 +29469,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -29606,11 +29570,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -29631,11 +29593,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -32671,11 +32631,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_obj_helper_SP if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)){ /* special case for typed properties */ zval z_copy, tmp, *val; @@ -33344,11 +33302,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -33368,11 +33324,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -33471,11 +33425,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -33496,11 +33448,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -35419,11 +35369,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_obj_helper_SP if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)){ /* special case for typed properties */ zval z_copy, tmp, *val; @@ -36093,11 +36041,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -36117,11 +36063,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -36221,11 +36165,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -36246,11 +36188,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -40428,11 +40368,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_obj_helper_SP if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)){ /* special case for typed properties */ zval z_copy, tmp, *val; @@ -41371,11 +41309,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -41395,11 +41331,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -41498,11 +41432,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -41523,11 +41455,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if (IS_CONST == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -47838,11 +47768,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_obj_helper_SP if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)){ /* special case for typed properties */ zval z_copy, tmp, *val; @@ -48781,11 +48709,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -48805,11 +48731,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -48908,11 +48832,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -48933,11 +48855,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if (IS_CV == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -52234,11 +52154,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_obj_helper_SP if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)){ /* special case for typed properties */ zval z_copy, tmp, *val; @@ -53179,11 +53097,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -53203,11 +53119,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val; @@ -53307,11 +53221,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { zval tmp, *val; val = zend_verify_property_type(prop_info, zptr, &tmp, EX_USES_STRICT_TYPES()); @@ -53332,11 +53244,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP if ((IS_TMP_VAR|IS_VAR) == IS_CONST) { prop_info = (zend_property_info*)CACHED_PTR_EX(cache_slot + 2); } else { - prop_info = zend_get_property_info(Z_OBJCE_P(object), Z_STR_P(property), 1); + prop_info = zend_object_fetch_property_type_info(Z_OBJCE_P(object), Z_STR_P(property), NULL); } - if (EXPECTED(prop_info) - && (UNEXPECTED(prop_info != ZEND_WRONG_PROPERTY_INFO)) - && UNEXPECTED(prop_info->type)) { + if (UNEXPECTED(prop_info)) { /* special case for typed properties */ zval z_copy, tmp, *val;
« previous php.cvs (#95497) next »