From 249e3de5da9cc7b5dc5bde81ad8ac9e8034349d4 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Mon, 10 Nov 2014 17:54:18 +0800 Subject: [PATCH] Fixed segfault in bug62500.phpt --- Zend/zend_vm_def.h | 8 +-- Zend/zend_vm_execute.h | 160 ++++++++++++++++++++--------------------- 2 files changed, 84 insertions(+), 84 deletions(-) diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index b6d2b82cde..81d5cfc1e6 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -1326,7 +1326,8 @@ ZEND_VM_HANDLER(82, ZEND_FETCH_OBJ_R, CONST|TMP|VAR|UNUSED|CV, CONST|TMP|VAR|CV) /* here we are sure we are dealing with an object */ do { if (OP2_TYPE == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -1415,8 +1416,6 @@ ZEND_VM_HANDLER(91, ZEND_FETCH_OBJ_IS, CONST|TMP|VAR|UNUSED|CV, CONST|TMP|VAR|CV zval *container; zend_free_op free_op2; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = GET_OP1_OBJ_ZVAL_PTR_DEREF(BP_VAR_IS); @@ -1431,7 +1430,8 @@ ZEND_VM_HANDLER(91, ZEND_FETCH_OBJ_IS, CONST|TMP|VAR|UNUSED|CV, CONST|TMP|VAR|CV /* here we are sure we are dealing with an object */ do { if (OP2_TYPE == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 8257789cd2..07507f3b81 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -3986,7 +3986,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_ /* here we are sure we are dealing with an object */ do { if (IS_CONST == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -4025,8 +4026,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE zval *container; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = opline->op1.zv; @@ -4041,7 +4040,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE /* here we are sure we are dealing with an object */ do { if (IS_CONST == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -5380,7 +5380,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_TMP_HANDLER(ZEND_OPCODE_HA /* here we are sure we are dealing with an object */ do { if (IS_TMP_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -5420,8 +5421,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_TMP_HANDLER(ZEND_OPCODE_H zval *container; zend_free_op free_op2; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = opline->op1.zv; @@ -5436,7 +5435,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_TMP_HANDLER(ZEND_OPCODE_H /* here we are sure we are dealing with an object */ do { if (IS_TMP_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -6619,7 +6619,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_VAR_HANDLER(ZEND_OPCODE_HA /* here we are sure we are dealing with an object */ do { if (IS_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -6659,8 +6660,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_VAR_HANDLER(ZEND_OPCODE_H zval *container; zend_free_op free_op2; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = opline->op1.zv; @@ -6675,7 +6674,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_VAR_HANDLER(ZEND_OPCODE_H /* here we are sure we are dealing with an object */ do { if (IS_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -8583,7 +8583,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HAN /* here we are sure we are dealing with an object */ do { if (IS_CV == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -8622,8 +8623,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HA zval *container; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = opline->op1.zv; @@ -8638,7 +8637,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HA /* here we are sure we are dealing with an object */ do { if (IS_CV == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -10956,7 +10956,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_CONST_HANDLER(ZEND_OPCODE_HA /* here we are sure we are dealing with an object */ do { if (IS_CONST == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -10995,8 +10996,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMP_CONST_HANDLER(ZEND_OPCODE_H zval *container; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); @@ -11011,7 +11010,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMP_CONST_HANDLER(ZEND_OPCODE_H /* here we are sure we are dealing with an object */ do { if (IS_CONST == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -12226,7 +12226,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE_HAND /* here we are sure we are dealing with an object */ do { if (IS_TMP_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -12266,8 +12267,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE_HAN zval *container; zend_free_op free_op2; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); @@ -12282,7 +12281,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE_HAN /* here we are sure we are dealing with an object */ do { if (IS_TMP_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -13438,7 +13438,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE_HAND /* here we are sure we are dealing with an object */ do { if (IS_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -13478,8 +13479,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE_HAN zval *container; zend_free_op free_op2; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); @@ -13494,7 +13493,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE_HAN /* here we are sure we are dealing with an object */ do { if (IS_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -15267,7 +15267,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_HANDL /* here we are sure we are dealing with an object */ do { if (IS_CV == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -15306,8 +15307,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_HAND zval *container; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); @@ -15322,7 +15321,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_HAND /* here we are sure we are dealing with an object */ do { if (IS_CV == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -18762,7 +18762,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HA /* here we are sure we are dealing with an object */ do { if (IS_CONST == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -18850,8 +18851,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_H zval *container; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); @@ -18866,7 +18865,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_H /* here we are sure we are dealing with an object */ do { if (IS_CONST == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -21100,7 +21100,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HAND /* here we are sure we are dealing with an object */ do { if (IS_TMP_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -21189,8 +21190,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HAN zval *container; zend_free_op free_op2; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); @@ -21205,7 +21204,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE_HAN /* here we are sure we are dealing with an object */ do { if (IS_TMP_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -23276,7 +23276,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HAND /* here we are sure we are dealing with an object */ do { if (IS_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -23365,8 +23366,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HAN zval *container; zend_free_op free_op2; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); @@ -23381,7 +23380,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HAN /* here we are sure we are dealing with an object */ do { if (IS_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -26712,7 +26712,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDL /* here we are sure we are dealing with an object */ do { if (IS_CV == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -26800,8 +26801,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HAND zval *container; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC); @@ -26816,7 +26815,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HAND /* here we are sure we are dealing with an object */ do { if (IS_CV == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -28462,7 +28462,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCODE /* here we are sure we are dealing with an object */ do { if (IS_CONST == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -28550,8 +28551,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCOD zval *container; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_obj_zval_ptr_unused(execute_data TSRMLS_CC); @@ -28566,7 +28565,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CONST_HANDLER(ZEND_OPCOD /* here we are sure we are dealing with an object */ do { if (IS_CONST == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -29870,7 +29870,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_H /* here we are sure we are dealing with an object */ do { if (IS_TMP_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -29959,8 +29960,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_ zval *container; zend_free_op free_op2; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_obj_zval_ptr_unused(execute_data TSRMLS_CC); @@ -29975,7 +29974,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_TMP_HANDLER(ZEND_OPCODE_ /* here we are sure we are dealing with an object */ do { if (IS_TMP_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -31191,7 +31191,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_H /* here we are sure we are dealing with an object */ do { if (IS_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -31280,8 +31281,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_ zval *container; zend_free_op free_op2; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_obj_zval_ptr_unused(execute_data TSRMLS_CC); @@ -31296,7 +31295,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_VAR_HANDLER(ZEND_OPCODE_ /* here we are sure we are dealing with an object */ do { if (IS_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -32999,7 +32999,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_HA /* here we are sure we are dealing with an object */ do { if (IS_CV == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -33087,8 +33088,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_H zval *container; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_obj_zval_ptr_unused(execute_data TSRMLS_CC); @@ -33103,7 +33102,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_UNUSED_CV_HANDLER(ZEND_OPCODE_H /* here we are sure we are dealing with an object */ do { if (IS_CV == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -36248,7 +36248,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HAN /* here we are sure we are dealing with an object */ do { if (IS_CONST == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -36336,8 +36337,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HA zval *container; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_zval_ptr_cv_deref_BP_VAR_IS(execute_data, opline->op1.var TSRMLS_CC); @@ -36352,7 +36351,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HA /* here we are sure we are dealing with an object */ do { if (IS_CONST == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -38416,7 +38416,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDL /* here we are sure we are dealing with an object */ do { if (IS_TMP_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -38505,8 +38506,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HAND zval *container; zend_free_op free_op2; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_zval_ptr_cv_deref_BP_VAR_IS(execute_data, opline->op1.var TSRMLS_CC); @@ -38521,7 +38520,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HAND /* here we are sure we are dealing with an object */ do { if (IS_TMP_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -40464,7 +40464,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDL /* here we are sure we are dealing with an object */ do { if (IS_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -40553,8 +40554,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HAND zval *container; zend_free_op free_op2; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_zval_ptr_cv_deref_BP_VAR_IS(execute_data, opline->op1.var TSRMLS_CC); @@ -40569,7 +40568,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HAND /* here we are sure we are dealing with an object */ do { if (IS_VAR == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -43625,7 +43625,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_R_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLE /* here we are sure we are dealing with an object */ do { if (IS_CV == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); @@ -43713,8 +43714,6 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDL zval *container; zval *offset; - zval *retval; - zend_property_info *prop_info; SAVE_OPLINE(); container = _get_zval_ptr_cv_deref_BP_VAR_IS(execute_data, opline->op1.var TSRMLS_CC); @@ -43729,7 +43728,8 @@ static int ZEND_FASTCALL ZEND_FETCH_OBJ_IS_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDL /* here we are sure we are dealing with an object */ do { if (IS_CV == IS_CONST && - EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { + EXPECTED(Z_TYPE_P(offset) == IS_STRING) && + EXPECTED(Z_OBJCE_P(container) == CACHED_PTR(Z_CACHE_SLOT_P(offset)))) { zend_property_info *prop_info = CACHED_PTR(Z_CACHE_SLOT_P(offset) + 1); zend_object *zobj = Z_OBJ_P(container); -- 2.50.1