From: Dmitry Stogov Date: Fri, 6 May 2016 06:23:37 +0000 (+0300) Subject: Revert "Refactor zval cleanup into single function" X-Git-Tag: php-7.1.0alpha1~186 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c19cb70dac3bd4476660d50360f8912ec0b03ebe;p=php Revert "Refactor zval cleanup into single function" This reverts commit bac6fdb0c52c924e726c5a78de8858bf27b6586b. --- diff --git a/Zend/zend_API.c b/Zend/zend_API.c index d006b7f2a0..f646883435 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -463,7 +463,7 @@ ZEND_API int ZEND_FASTCALL zend_parse_arg_str_weak(zval *arg, zend_string **dest Z_ADDREF_P(z); if (Z_TYPE_P(z) != IS_OBJECT) { - zval_ptr_dtor_nogc(arg); + zval_dtor(arg); ZVAL_NULL(arg); if (!zend_make_printable_zval(z, arg)) { ZVAL_COPY_VALUE(arg, z); @@ -3386,7 +3386,7 @@ ZEND_API zend_bool zend_make_callable(zval *callable, zend_string **callable_nam if (zend_is_callable_ex(callable, NULL, IS_CALLABLE_STRICT, callable_name, &fcc, NULL)) { if (Z_TYPE_P(callable) == IS_STRING && fcc.calling_scope) { - zval_ptr_dtor_nogc(callable); + zval_dtor(callable); array_init(callable); add_next_index_str(callable, zend_string_copy(fcc.calling_scope->name)); add_next_index_str(callable, zend_string_copy(fcc.function_handler->common.function_name)); @@ -3951,7 +3951,7 @@ ZEND_API int zend_update_static_property(zend_class_entry *scope, const char *na } else { if (property != value) { if (Z_ISREF_P(property)) { - zval_ptr_dtor_nogc(property); + zval_dtor(property); ZVAL_COPY_VALUE(property, value); if (Z_REFCOUNTED_P(value) && Z_REFCOUNT_P(value) > 0) { zval_opt_copy_ctor(property); diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c index ecb4692a84..2636d2d561 100644 --- a/Zend/zend_ast.c +++ b/Zend/zend_ast.c @@ -185,7 +185,7 @@ static int zend_ast_add_array_element(zval *result, zval *offset, zval *expr) break; case IS_STRING: zend_symtable_update(Z_ARRVAL_P(result), Z_STR_P(offset), expr); - zval_ptr_dtor_nogc(offset); + zval_dtor(offset); break; case IS_NULL: zend_symtable_update(Z_ARRVAL_P(result), ZSTR_EMPTY_ALLOC(), expr); @@ -219,13 +219,13 @@ ZEND_API int zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *sc if (UNEXPECTED(zend_ast_evaluate(&op1, ast->child[0], scope) != SUCCESS)) { ret = FAILURE; } else if (UNEXPECTED(zend_ast_evaluate(&op2, ast->child[1], scope) != SUCCESS)) { - zval_ptr_dtor_nogc(&op1); + zval_dtor(&op1); ret = FAILURE; } else { binary_op_type op = get_binary_op(ast->attr); ret = op(result, &op1, &op2); - zval_ptr_dtor_nogc(&op1); - zval_ptr_dtor_nogc(&op2); + zval_dtor(&op1); + zval_dtor(&op2); } break; case ZEND_AST_GREATER: @@ -233,15 +233,15 @@ ZEND_API int zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *sc if (UNEXPECTED(zend_ast_evaluate(&op1, ast->child[0], scope) != SUCCESS)) { ret = FAILURE; } else if (UNEXPECTED(zend_ast_evaluate(&op2, ast->child[1], scope) != SUCCESS)) { - zval_ptr_dtor_nogc(&op1); + zval_dtor(&op1); ret = FAILURE; } else { /* op1 > op2 is the same as op2 < op1 */ binary_op_type op = ast->kind == ZEND_AST_GREATER ? is_smaller_function : is_smaller_or_equal_function; ret = op(result, &op2, &op1); - zval_ptr_dtor_nogc(&op1); - zval_ptr_dtor_nogc(&op2); + zval_dtor(&op1); + zval_dtor(&op2); } break; case ZEND_AST_UNARY_OP: @@ -250,7 +250,7 @@ ZEND_API int zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *sc } else { unary_op_type op = get_unary_op(ast->attr); ret = op(result, &op1); - zval_ptr_dtor_nogc(&op1); + zval_dtor(&op1); } break; case ZEND_AST_ZVAL: @@ -283,16 +283,16 @@ ZEND_API int zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *sc } if (zend_is_true(&op1)) { if (UNEXPECTED(zend_ast_evaluate(&op2, ast->child[1], scope) != SUCCESS)) { - zval_ptr_dtor_nogc(&op1); + zval_dtor(&op1); ret = FAILURE; break; } ZVAL_BOOL(result, zend_is_true(&op2)); - zval_ptr_dtor_nogc(&op2); + zval_dtor(&op2); } else { ZVAL_FALSE(result); } - zval_ptr_dtor_nogc(&op1); + zval_dtor(&op1); break; case ZEND_AST_OR: if (UNEXPECTED(zend_ast_evaluate(&op1, ast->child[0], scope) != SUCCESS)) { @@ -303,14 +303,14 @@ ZEND_API int zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *sc ZVAL_TRUE(result); } else { if (UNEXPECTED(zend_ast_evaluate(&op2, ast->child[1], scope) != SUCCESS)) { - zval_ptr_dtor_nogc(&op1); + zval_dtor(&op1); ret = FAILURE; break; } ZVAL_BOOL(result, zend_is_true(&op2)); - zval_ptr_dtor_nogc(&op2); + zval_dtor(&op2); } - zval_ptr_dtor_nogc(&op1); + zval_dtor(&op1); break; case ZEND_AST_CONDITIONAL: if (UNEXPECTED(zend_ast_evaluate(&op1, ast->child[0], scope) != SUCCESS)) { @@ -322,19 +322,19 @@ ZEND_API int zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *sc *result = op1; } else { if (UNEXPECTED(zend_ast_evaluate(result, ast->child[1], scope) != SUCCESS)) { - zval_ptr_dtor_nogc(&op1); + zval_dtor(&op1); ret = FAILURE; break; } - zval_ptr_dtor_nogc(&op1); + zval_dtor(&op1); } } else { if (UNEXPECTED(zend_ast_evaluate(result, ast->child[2], scope) != SUCCESS)) { - zval_ptr_dtor_nogc(&op1); + zval_dtor(&op1); ret = FAILURE; break; } - zval_ptr_dtor_nogc(&op1); + zval_dtor(&op1); } break; case ZEND_AST_COALESCE: @@ -346,11 +346,11 @@ ZEND_API int zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *sc *result = op1; } else { if (UNEXPECTED(zend_ast_evaluate(result, ast->child[1], scope) != SUCCESS)) { - zval_ptr_dtor_nogc(&op1); + zval_dtor(&op1); ret = FAILURE; break; } - zval_ptr_dtor_nogc(&op1); + zval_dtor(&op1); } break; case ZEND_AST_UNARY_PLUS: @@ -359,7 +359,7 @@ ZEND_API int zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *sc } else { ZVAL_LONG(&op1, 0); ret = add_function(result, &op1, &op2); - zval_ptr_dtor_nogc(&op2); + zval_dtor(&op2); } break; case ZEND_AST_UNARY_MINUS: @@ -368,7 +368,7 @@ ZEND_API int zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *sc } else { ZVAL_LONG(&op1, 0); ret = sub_function(result, &op1, &op2); - zval_ptr_dtor_nogc(&op2); + zval_dtor(&op2); } break; case ZEND_AST_ARRAY: @@ -380,21 +380,21 @@ ZEND_API int zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *sc zend_ast *elem = list->child[i]; if (elem->child[1]) { if (UNEXPECTED(zend_ast_evaluate(&op1, elem->child[1], scope) != SUCCESS)) { - zval_ptr_dtor_nogc(result); + zval_dtor(result); return FAILURE; } } else { ZVAL_UNDEF(&op1); } if (UNEXPECTED(zend_ast_evaluate(&op2, elem->child[0], scope) != SUCCESS)) { - zval_ptr_dtor_nogc(&op1); - zval_ptr_dtor_nogc(result); + zval_dtor(&op1); + zval_dtor(result); return FAILURE; } if (UNEXPECTED(zend_ast_add_array_element(result, &op1, &op2) != SUCCESS)) { - zval_ptr_dtor_nogc(&op1); - zval_ptr_dtor_nogc(&op2); - zval_ptr_dtor_nogc(result); + zval_dtor(&op1); + zval_dtor(&op2); + zval_dtor(result); return FAILURE; } } @@ -408,7 +408,7 @@ ZEND_API int zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *sc if (UNEXPECTED(zend_ast_evaluate(&op1, ast->child[0], scope) != SUCCESS)) { ret = FAILURE; } else if (UNEXPECTED(zend_ast_evaluate(&op2, ast->child[1], scope) != SUCCESS)) { - zval_ptr_dtor_nogc(&op1); + zval_dtor(&op1); ret = FAILURE; } else { zval tmp; @@ -425,8 +425,8 @@ ZEND_API int zend_ast_evaluate(zval *result, zend_ast *ast, zend_class_entry *sc ZVAL_DUP(result, &tmp); } zval_ptr_dtor(&tmp); - zval_ptr_dtor_nogc(&op1); - zval_ptr_dtor_nogc(&op2); + zval_dtor(&op1); + zval_dtor(&op2); } break; default: diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index a880c9dbbf..50bcb3b7ad 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -427,7 +427,7 @@ static int lookup_cv(zend_op_array *op_array, zend_string* name) /* {{{ */{ void zend_del_literal(zend_op_array *op_array, int n) /* {{{ */ { - zval_ptr_dtor_nogc(CT_CONSTANT_EX(op_array, n)); + zval_dtor(CT_CONSTANT_EX(op_array, n)); if (n + 1 == op_array->last_literal) { op_array->last_literal--; } else { @@ -3276,7 +3276,7 @@ int zend_compile_func_strlen(znode *result, zend_ast_list *args) /* {{{ */ if (arg_node.op_type == IS_CONST && Z_TYPE(arg_node.u.constant) == IS_STRING) { result->op_type = IS_CONST; ZVAL_LONG(&result->u.constant, Z_STRLEN(arg_node.u.constant)); - zval_ptr_dtor_nogc(&arg_node.u.constant); + zval_dtor(&arg_node.u.constant); } else { zend_emit_op_tmp(result, ZEND_STRLEN, &arg_node, NULL); } @@ -4147,7 +4147,7 @@ void zend_resolve_goto_label(zend_op_array *op_array, zend_op *opline) /* {{{ */ zend_error_noreturn(E_COMPILE_ERROR, "'goto' to undefined label '%s'", Z_STRVAL_P(label)); } - zval_ptr_dtor_nogc(label); + zval_dtor(label); ZVAL_NULL(label); current = opline->extended_value; @@ -4535,7 +4535,7 @@ void zend_compile_switch(zend_ast *ast) /* {{{ */ SET_NODE(opline->op1, &expr_node); SET_UNUSED(opline->op2); } else if (expr_node.op_type == IS_CONST) { - zval_ptr_dtor_nogc(&expr_node.u.constant); + zval_dtor(&expr_node.u.constant); } efree(jmpnz_opnums); @@ -4779,7 +4779,7 @@ void zend_compile_declare(zend_ast *ast) /* {{{ */ zval value_zv; zend_const_expr_to_zval(&value_zv, value_ast); FC(declarables).ticks = zval_get_long(&value_zv); - zval_ptr_dtor_nogc(&value_zv); + zval_dtor(&value_zv); } else if (zend_string_equals_literal_ci(name, "encoding")) { if (FAILURE == zend_declare_is_first_statement(ast)) { diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index d7b5149ac7..3e09f0cbb8 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -516,7 +516,7 @@ ZEND_API int zend_register_constant(zend_constant *c) zend_error(E_NOTICE,"Constant %s already defined", ZSTR_VAL(name)); zend_string_release(c->name); if (!(c->flags & CONST_PERSISTENT)) { - zval_ptr_dtor_nogc(&c->value); + zval_dtor(&c->value); } ret = FAILURE; } diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index bd5ccf6c37..53f2362e19 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -2091,7 +2091,7 @@ static zend_always_inline void i_free_compiled_variables(zend_execute_data *exec if (!Z_DELREF_P(cv)) { zend_refcounted *r = Z_COUNTED_P(cv); ZVAL_NULL(cv); - zval_dtor_func(r); + zval_dtor_func_for_ptr(r); } else { GC_ZVAL_CHECK_POSSIBLE_ROOT(cv); } diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h index 24071719a2..36a44f6395 100644 --- a/Zend/zend_execute.h +++ b/Zend/zend_execute.h @@ -98,7 +98,7 @@ static zend_always_inline zval* zend_assign_to_variable(zval *variable_ptr, zval Z_ADDREF_P(variable_ptr); } } - zval_dtor_func(garbage); + zval_dtor_func_for_ptr(garbage); return variable_ptr; } else { /* we need to split */ /* optimized version of GC_ZVAL_CHECK_POSSIBLE_ROOT(variable_ptr) */ @@ -220,7 +220,7 @@ static zend_always_inline void zend_vm_stack_free_extra_args_ex(uint32_t call_in if (!Z_DELREF_P(p)) { zend_refcounted *r = Z_COUNTED_P(p); ZVAL_NULL(p); - zval_dtor_func(r); + zval_dtor_func_for_ptr(r); } else { GC_ZVAL_CHECK_POSSIBLE_ROOT(p); } @@ -248,7 +248,7 @@ static zend_always_inline void zend_vm_stack_free_args(zend_execute_data *call) if (!Z_DELREF_P(p)) { zend_refcounted *r = Z_COUNTED_P(p); ZVAL_NULL(p); - zval_dtor_func(r); + zval_dtor_func_for_ptr(r); } } } while (p != end); diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 559a0ae3ae..d4e2d8527e 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -1017,7 +1017,7 @@ ZEND_API zend_class_entry *zend_lookup_class_ex(zend_string *name, const zval *k zend_exception_restore(); zval_ptr_dtor(&args[0]); - zval_ptr_dtor_nogc(&fcall_info.function_name); + zval_dtor(&fcall_info.function_name); zend_hash_del(EG(in_autoload), lc_name); @@ -1127,7 +1127,7 @@ ZEND_API int zend_eval_stringl(char *str, size_t str_len, zval *retval_ptr, char } else { retval = FAILURE; } - zval_ptr_dtor_nogc(&pv); + zval_dtor(&pv); return retval; } /* }}} */ diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c index 87f4fb87d6..821ac4d9dc 100644 --- a/Zend/zend_gc.c +++ b/Zend/zend_gc.c @@ -243,7 +243,7 @@ ZEND_API void ZEND_FASTCALL gc_possible_root(zend_refcounted *ref) gc_collect_cycles(); GC_REFCOUNT(ref)--; if (UNEXPECTED(GC_REFCOUNT(ref)) == 0) { - zval_dtor_func(ref); + zval_dtor_func_for_ptr(ref); return; } if (UNEXPECTED(GC_INFO(ref))) { diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c index edb2bbe5af..42283f94dc 100644 --- a/Zend/zend_inheritance.c +++ b/Zend/zend_inheritance.c @@ -660,7 +660,7 @@ static void do_inherit_property(zend_property_info *parent_info, zend_string *ke int parent_num = OBJ_PROP_TO_NUM(parent_info->offset); int child_num = OBJ_PROP_TO_NUM(child_info->offset); - /* Don't keep default properties in GC (they may be freed by opcache) */ + /* Don't keep default properties in GC (thry may be freed by opcache) */ zval_ptr_dtor_nogc(&(ce->default_properties_table[parent_num])); ce->default_properties_table[parent_num] = ce->default_properties_table[child_num]; ZVAL_UNDEF(&ce->default_properties_table[child_num]); diff --git a/Zend/zend_ini_parser.y b/Zend/zend_ini_parser.y index b248b227bf..1078259f22 100644 --- a/Zend/zend_ini_parser.y +++ b/Zend/zend_ini_parser.y @@ -313,7 +313,7 @@ statement: if (Z_TYPE($2) == IS_STRING) { zend_string_release(Z_STR($2)); } else { - zval_ptr_dtor_nogc(&$2); + zval_dtor(&$2); } zval_ptr_dtor(&$5); } diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 32e8e876dc..02b1334844 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.14.3 */ +/* Generated by re2c 0.15.3 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -669,7 +669,7 @@ zend_op_array *compile_filename(int type, zval *filename) zend_destroy_file_handle(&file_handle); if (filename==&tmp) { - zval_ptr_dtor_nogc(&tmp); + zval_dtor(&tmp); } return retval; } @@ -763,7 +763,7 @@ zend_op_array *compile_string(zval *source_string, char *filename) } zend_restore_lexical_state(&original_lex_state); - zval_ptr_dtor_nogc(&tmp); + zval_dtor(&tmp); return op_array; } @@ -814,7 +814,7 @@ int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_ SCNG(script_filtered) = NULL; } zend_restore_lexical_state(&original_lex_state); - zval_ptr_dtor_nogc(str); + zval_dtor(str); return SUCCESS; } @@ -1198,7 +1198,6 @@ yy5: goto yy4; yy6: YYDEBUG(6, *YYCURSOR); - yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych == '=') goto yy8; @@ -1218,7 +1217,7 @@ yy7: goto inline_char_handler; } } -#line 1222 "Zend/zend_language_scanner.c" +#line 1221 "Zend/zend_language_scanner.c" yy8: YYDEBUG(8, *YYCURSOR); ++YYCURSOR; @@ -1229,7 +1228,7 @@ yy8: BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO); } -#line 1233 "Zend/zend_language_scanner.c" +#line 1232 "Zend/zend_language_scanner.c" yy10: YYDEBUG(10, *YYCURSOR); yych = *++YYCURSOR; @@ -1266,7 +1265,7 @@ yy15: BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN(T_OPEN_TAG); } -#line 1270 "Zend/zend_language_scanner.c" +#line 1269 "Zend/zend_language_scanner.c" yy16: YYDEBUG(16, *YYCURSOR); ++YYCURSOR; @@ -1377,7 +1376,7 @@ yy20: zend_scan_escape_string(zendlval, yytext, yyleng, '`'); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 1381 "Zend/zend_language_scanner.c" +#line 1380 "Zend/zend_language_scanner.c" yy21: YYDEBUG(21, *YYCURSOR); yych = *++YYCURSOR; @@ -1393,7 +1392,7 @@ yy22: BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN('`'); } -#line 1397 "Zend/zend_language_scanner.c" +#line 1396 "Zend/zend_language_scanner.c" yy24: YYDEBUG(24, *YYCURSOR); yych = *++YYCURSOR; @@ -1410,10 +1409,9 @@ yy25: yyless(1); RETURN_TOKEN(T_CURLY_OPEN); } -#line 1414 "Zend/zend_language_scanner.c" +#line 1413 "Zend/zend_language_scanner.c" yy27: YYDEBUG(27, *YYCURSOR); - yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; @@ -1432,7 +1430,7 @@ yy29: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1436 "Zend/zend_language_scanner.c" +#line 1434 "Zend/zend_language_scanner.c" yy30: YYDEBUG(30, *YYCURSOR); ++YYCURSOR; @@ -1443,7 +1441,7 @@ yy30: yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 1447 "Zend/zend_language_scanner.c" +#line 1445 "Zend/zend_language_scanner.c" yy32: YYDEBUG(32, *YYCURSOR); yych = *++YYCURSOR; @@ -1464,7 +1462,7 @@ yy34: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1468 "Zend/zend_language_scanner.c" +#line 1466 "Zend/zend_language_scanner.c" yy36: YYDEBUG(36, *YYCURSOR); yych = *++YYCURSOR; @@ -1489,7 +1487,7 @@ yy37: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1493 "Zend/zend_language_scanner.c" +#line 1491 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -1606,7 +1604,7 @@ double_quotes_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng, '"'); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 1610 "Zend/zend_language_scanner.c" +#line 1608 "Zend/zend_language_scanner.c" yy43: YYDEBUG(43, *YYCURSOR); yych = *++YYCURSOR; @@ -1622,7 +1620,7 @@ yy44: BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN('"'); } -#line 1626 "Zend/zend_language_scanner.c" +#line 1624 "Zend/zend_language_scanner.c" yy46: YYDEBUG(46, *YYCURSOR); yych = *++YYCURSOR; @@ -1639,10 +1637,9 @@ yy47: yyless(1); RETURN_TOKEN(T_CURLY_OPEN); } -#line 1643 "Zend/zend_language_scanner.c" +#line 1641 "Zend/zend_language_scanner.c" yy49: YYDEBUG(49, *YYCURSOR); - yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; @@ -1661,7 +1658,7 @@ yy51: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1665 "Zend/zend_language_scanner.c" +#line 1662 "Zend/zend_language_scanner.c" yy52: YYDEBUG(52, *YYCURSOR); ++YYCURSOR; @@ -1672,7 +1669,7 @@ yy52: yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 1676 "Zend/zend_language_scanner.c" +#line 1673 "Zend/zend_language_scanner.c" yy54: YYDEBUG(54, *YYCURSOR); yych = *++YYCURSOR; @@ -1693,7 +1690,7 @@ yy56: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1697 "Zend/zend_language_scanner.c" +#line 1694 "Zend/zend_language_scanner.c" yy58: YYDEBUG(58, *YYCURSOR); yych = *++YYCURSOR; @@ -1718,7 +1715,7 @@ yy59: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1722 "Zend/zend_language_scanner.c" +#line 1719 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_END_HEREDOC: @@ -1742,7 +1739,7 @@ yyc_ST_END_HEREDOC: BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN(T_END_HEREDOC); } -#line 1746 "Zend/zend_language_scanner.c" +#line 1743 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_HEREDOC: { @@ -1877,7 +1874,7 @@ heredoc_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 1881 "Zend/zend_language_scanner.c" +#line 1878 "Zend/zend_language_scanner.c" yy69: YYDEBUG(69, *YYCURSOR); yych = *++YYCURSOR; @@ -1899,10 +1896,9 @@ yy71: yyless(1); RETURN_TOKEN(T_CURLY_OPEN); } -#line 1903 "Zend/zend_language_scanner.c" +#line 1900 "Zend/zend_language_scanner.c" yy73: YYDEBUG(73, *YYCURSOR); - yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; @@ -1921,7 +1917,7 @@ yy75: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1925 "Zend/zend_language_scanner.c" +#line 1921 "Zend/zend_language_scanner.c" yy76: YYDEBUG(76, *YYCURSOR); ++YYCURSOR; @@ -1932,7 +1928,7 @@ yy76: yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 1936 "Zend/zend_language_scanner.c" +#line 1932 "Zend/zend_language_scanner.c" yy78: YYDEBUG(78, *YYCURSOR); yych = *++YYCURSOR; @@ -1953,7 +1949,7 @@ yy80: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1957 "Zend/zend_language_scanner.c" +#line 1953 "Zend/zend_language_scanner.c" yy82: YYDEBUG(82, *YYCURSOR); yych = *++YYCURSOR; @@ -1978,7 +1974,7 @@ yy83: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1982 "Zend/zend_language_scanner.c" +#line 1978 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_IN_SCRIPTING: @@ -2020,7 +2016,6 @@ yyc_ST_IN_SCRIPTING: YYDEBUG(85, *YYCURSOR); YYFILL(16); yych = *YYCURSOR; - YYDEBUG(-1, yych); switch (yych) { case 0x00: case 0x01: @@ -2143,7 +2138,6 @@ yyc_ST_IN_SCRIPTING: yy87: YYDEBUG(87, *YYCURSOR); ++YYCURSOR; - YYDEBUG(-1, yych); switch ((yych = *YYCURSOR)) { case 'C': case 'c': goto yy705; @@ -2167,7 +2161,7 @@ yy88: zend_copy_value(zendlval, yytext, yyleng); RETURN_TOKEN(T_STRING); } -#line 2171 "Zend/zend_language_scanner.c" +#line 2165 "Zend/zend_language_scanner.c" yy89: YYDEBUG(89, *YYCURSOR); yych = *++YYCURSOR; @@ -2403,7 +2397,7 @@ yy103: { RETURN_TOKEN(yytext[0]); } -#line 2407 "Zend/zend_language_scanner.c" +#line 2401 "Zend/zend_language_scanner.c" yy104: YYDEBUG(104, *YYCURSOR); ++YYCURSOR; @@ -2417,7 +2411,7 @@ yy105: HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN(T_WHITESPACE); } -#line 2421 "Zend/zend_language_scanner.c" +#line 2415 "Zend/zend_language_scanner.c" yy106: YYDEBUG(106, *YYCURSOR); yych = *++YYCURSOR; @@ -2432,7 +2426,7 @@ yy107: { RETURN_TOKEN(T_NS_SEPARATOR); } -#line 2436 "Zend/zend_language_scanner.c" +#line 2430 "Zend/zend_language_scanner.c" yy109: YYDEBUG(109, *YYCURSOR); yyaccept = 1; @@ -2666,7 +2660,7 @@ yy132: yy_push_state(ST_IN_SCRIPTING); RETURN_TOKEN('{'); } -#line 2670 "Zend/zend_language_scanner.c" +#line 2664 "Zend/zend_language_scanner.c" yy134: YYDEBUG(134, *YYCURSOR); ++YYCURSOR; @@ -2680,7 +2674,7 @@ yy134: } RETURN_TOKEN('}'); } -#line 2684 "Zend/zend_language_scanner.c" +#line 2678 "Zend/zend_language_scanner.c" yy136: YYDEBUG(136, *YYCURSOR); yyaccept = 2; @@ -2753,7 +2747,7 @@ yy137: ZEND_ASSERT(!errno); RETURN_TOKEN(T_LNUMBER); } -#line 2757 "Zend/zend_language_scanner.c" +#line 2751 "Zend/zend_language_scanner.c" yy138: YYDEBUG(138, *YYCURSOR); yyaccept = 2; @@ -2810,7 +2804,7 @@ yy141: RETURN_TOKEN(T_COMMENT); } -#line 2814 "Zend/zend_language_scanner.c" +#line 2808 "Zend/zend_language_scanner.c" yy142: YYDEBUG(142, *YYCURSOR); ++YYCURSOR; @@ -2885,7 +2879,7 @@ yy143: } RETURN_TOKEN(T_CONSTANT_ENCAPSED_STRING); } -#line 2889 "Zend/zend_language_scanner.c" +#line 2883 "Zend/zend_language_scanner.c" yy144: YYDEBUG(144, *YYCURSOR); ++YYCURSOR; @@ -2933,7 +2927,7 @@ yy145: BEGIN(ST_DOUBLE_QUOTES); RETURN_TOKEN('"'); } -#line 2937 "Zend/zend_language_scanner.c" +#line 2931 "Zend/zend_language_scanner.c" yy146: YYDEBUG(146, *YYCURSOR); ++YYCURSOR; @@ -2944,7 +2938,7 @@ yy146: BEGIN(ST_BACKQUOTE); RETURN_TOKEN('`'); } -#line 2948 "Zend/zend_language_scanner.c" +#line 2942 "Zend/zend_language_scanner.c" yy148: YYDEBUG(148, *YYCURSOR); ++YYCURSOR; @@ -2959,7 +2953,7 @@ yy148: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 2963 "Zend/zend_language_scanner.c" +#line 2957 "Zend/zend_language_scanner.c" yy150: YYDEBUG(150, *YYCURSOR); ++YYCURSOR; @@ -2995,7 +2989,7 @@ yy154: ZEND_ASSERT(end == yytext + yyleng); RETURN_TOKEN(T_DNUMBER); } -#line 2999 "Zend/zend_language_scanner.c" +#line 2993 "Zend/zend_language_scanner.c" yy155: YYDEBUG(155, *YYCURSOR); yyaccept = 2; @@ -3119,7 +3113,7 @@ yy164: RETURN_TOKEN(T_DNUMBER); } } -#line 3123 "Zend/zend_language_scanner.c" +#line 3117 "Zend/zend_language_scanner.c" yy167: YYDEBUG(167, *YYCURSOR); ++YYCURSOR; @@ -3159,7 +3153,7 @@ yy167: RETURN_TOKEN(T_DNUMBER); } } -#line 3163 "Zend/zend_language_scanner.c" +#line 3157 "Zend/zend_language_scanner.c" yy170: YYDEBUG(170, *YYCURSOR); ++YYCURSOR; @@ -3189,7 +3183,7 @@ yy172: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 3193 "Zend/zend_language_scanner.c" +#line 3187 "Zend/zend_language_scanner.c" yy173: YYDEBUG(173, *YYCURSOR); yych = *++YYCURSOR; @@ -3207,7 +3201,7 @@ yy174: { RETURN_TOKEN(T_LOGICAL_XOR); } -#line 3211 "Zend/zend_language_scanner.c" +#line 3205 "Zend/zend_language_scanner.c" yy176: YYDEBUG(176, *YYCURSOR); ++YYCURSOR; @@ -3220,7 +3214,7 @@ yy176: { RETURN_TOKEN(T_LOGICAL_OR); } -#line 3224 "Zend/zend_language_scanner.c" +#line 3218 "Zend/zend_language_scanner.c" yy178: YYDEBUG(178, *YYCURSOR); ++YYCURSOR; @@ -3230,7 +3224,7 @@ yy178: { RETURN_TOKEN(T_XOR_EQUAL); } -#line 3234 "Zend/zend_language_scanner.c" +#line 3228 "Zend/zend_language_scanner.c" yy180: YYDEBUG(180, *YYCURSOR); ++YYCURSOR; @@ -3240,7 +3234,7 @@ yy180: { RETURN_TOKEN(T_BOOLEAN_OR); } -#line 3244 "Zend/zend_language_scanner.c" +#line 3238 "Zend/zend_language_scanner.c" yy182: YYDEBUG(182, *YYCURSOR); ++YYCURSOR; @@ -3250,7 +3244,7 @@ yy182: { RETURN_TOKEN(T_OR_EQUAL); } -#line 3254 "Zend/zend_language_scanner.c" +#line 3248 "Zend/zend_language_scanner.c" yy184: YYDEBUG(184, *YYCURSOR); ++YYCURSOR; @@ -3260,7 +3254,7 @@ yy184: { RETURN_TOKEN(T_BOOLEAN_AND); } -#line 3264 "Zend/zend_language_scanner.c" +#line 3258 "Zend/zend_language_scanner.c" yy186: YYDEBUG(186, *YYCURSOR); ++YYCURSOR; @@ -3270,7 +3264,7 @@ yy186: { RETURN_TOKEN(T_AND_EQUAL); } -#line 3274 "Zend/zend_language_scanner.c" +#line 3268 "Zend/zend_language_scanner.c" yy188: YYDEBUG(188, *YYCURSOR); ++YYCURSOR; @@ -3280,7 +3274,7 @@ yy188: { RETURN_TOKEN(T_MOD_EQUAL); } -#line 3284 "Zend/zend_language_scanner.c" +#line 3278 "Zend/zend_language_scanner.c" yy190: YYDEBUG(190, *YYCURSOR); yyaccept = 4; @@ -3322,7 +3316,7 @@ yy191: RETURN_TOKEN(T_COMMENT); } -#line 3326 "Zend/zend_language_scanner.c" +#line 3320 "Zend/zend_language_scanner.c" yy192: YYDEBUG(192, *YYCURSOR); yych = *++YYCURSOR; @@ -3336,7 +3330,7 @@ yy193: { RETURN_TOKEN(T_DIV_EQUAL); } -#line 3340 "Zend/zend_language_scanner.c" +#line 3334 "Zend/zend_language_scanner.c" yy195: YYDEBUG(195, *YYCURSOR); yych = *++YYCURSOR; @@ -3364,7 +3358,7 @@ yy198: { RETURN_TOKEN(T_POW); } -#line 3368 "Zend/zend_language_scanner.c" +#line 3362 "Zend/zend_language_scanner.c" yy200: YYDEBUG(200, *YYCURSOR); ++YYCURSOR; @@ -3374,7 +3368,7 @@ yy200: { RETURN_TOKEN(T_MUL_EQUAL); } -#line 3378 "Zend/zend_language_scanner.c" +#line 3372 "Zend/zend_language_scanner.c" yy202: YYDEBUG(202, *YYCURSOR); ++YYCURSOR; @@ -3384,7 +3378,7 @@ yy202: { RETURN_TOKEN(T_POW_EQUAL); } -#line 3388 "Zend/zend_language_scanner.c" +#line 3382 "Zend/zend_language_scanner.c" yy204: YYDEBUG(204, *YYCURSOR); ++YYCURSOR; @@ -3395,7 +3389,7 @@ yy204: { RETURN_TOKEN(T_SR); } -#line 3399 "Zend/zend_language_scanner.c" +#line 3393 "Zend/zend_language_scanner.c" yy206: YYDEBUG(206, *YYCURSOR); ++YYCURSOR; @@ -3405,7 +3399,7 @@ yy206: { RETURN_TOKEN(T_IS_GREATER_OR_EQUAL); } -#line 3409 "Zend/zend_language_scanner.c" +#line 3403 "Zend/zend_language_scanner.c" yy208: YYDEBUG(208, *YYCURSOR); ++YYCURSOR; @@ -3415,7 +3409,7 @@ yy208: { RETURN_TOKEN(T_SR_EQUAL); } -#line 3419 "Zend/zend_language_scanner.c" +#line 3413 "Zend/zend_language_scanner.c" yy210: YYDEBUG(210, *YYCURSOR); yyaccept = 5; @@ -3430,7 +3424,7 @@ yy211: { RETURN_TOKEN(T_SL); } -#line 3434 "Zend/zend_language_scanner.c" +#line 3428 "Zend/zend_language_scanner.c" yy212: YYDEBUG(212, *YYCURSOR); ++YYCURSOR; @@ -3441,7 +3435,7 @@ yy212: { RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL); } -#line 3445 "Zend/zend_language_scanner.c" +#line 3439 "Zend/zend_language_scanner.c" yy214: YYDEBUG(214, *YYCURSOR); ++YYCURSOR; @@ -3452,7 +3446,7 @@ yy215: { RETURN_TOKEN(T_IS_NOT_EQUAL); } -#line 3456 "Zend/zend_language_scanner.c" +#line 3450 "Zend/zend_language_scanner.c" yy216: YYDEBUG(216, *YYCURSOR); ++YYCURSOR; @@ -3462,7 +3456,7 @@ yy216: { RETURN_TOKEN(T_SPACESHIP); } -#line 3466 "Zend/zend_language_scanner.c" +#line 3460 "Zend/zend_language_scanner.c" yy218: YYDEBUG(218, *YYCURSOR); ++YYCURSOR; @@ -3472,7 +3466,7 @@ yy218: { RETURN_TOKEN(T_SL_EQUAL); } -#line 3476 "Zend/zend_language_scanner.c" +#line 3470 "Zend/zend_language_scanner.c" yy220: YYDEBUG(220, *YYCURSOR); ++YYCURSOR; @@ -3624,7 +3618,7 @@ yy230: RETURN_TOKEN(T_START_HEREDOC); } -#line 3628 "Zend/zend_language_scanner.c" +#line 3622 "Zend/zend_language_scanner.c" yy231: YYDEBUG(231, *YYCURSOR); yych = *++YYCURSOR; @@ -3668,7 +3662,7 @@ yy234: { RETURN_TOKEN(T_IS_NOT_IDENTICAL); } -#line 3672 "Zend/zend_language_scanner.c" +#line 3666 "Zend/zend_language_scanner.c" yy237: YYDEBUG(237, *YYCURSOR); ++YYCURSOR; @@ -3678,7 +3672,7 @@ yy237: { RETURN_TOKEN(T_PLUS_EQUAL); } -#line 3682 "Zend/zend_language_scanner.c" +#line 3676 "Zend/zend_language_scanner.c" yy239: YYDEBUG(239, *YYCURSOR); ++YYCURSOR; @@ -3688,7 +3682,7 @@ yy239: { RETURN_TOKEN(T_INC); } -#line 3692 "Zend/zend_language_scanner.c" +#line 3686 "Zend/zend_language_scanner.c" yy241: YYDEBUG(241, *YYCURSOR); yych = *++YYCURSOR; @@ -3711,7 +3705,7 @@ yy243: { RETURN_TOKEN(T_LIST); } -#line 3715 "Zend/zend_language_scanner.c" +#line 3709 "Zend/zend_language_scanner.c" yy245: YYDEBUG(245, *YYCURSOR); ++YYCURSOR; @@ -3722,7 +3716,7 @@ yy245: { RETURN_TOKEN(T_IS_EQUAL); } -#line 3726 "Zend/zend_language_scanner.c" +#line 3720 "Zend/zend_language_scanner.c" yy247: YYDEBUG(247, *YYCURSOR); ++YYCURSOR; @@ -3732,7 +3726,7 @@ yy247: { RETURN_TOKEN(T_DOUBLE_ARROW); } -#line 3736 "Zend/zend_language_scanner.c" +#line 3730 "Zend/zend_language_scanner.c" yy249: YYDEBUG(249, *YYCURSOR); ++YYCURSOR; @@ -3742,11 +3736,10 @@ yy249: { RETURN_TOKEN(T_IS_IDENTICAL); } -#line 3746 "Zend/zend_language_scanner.c" +#line 3740 "Zend/zend_language_scanner.c" yy251: YYDEBUG(251, *YYCURSOR); yych = *++YYCURSOR; - YYDEBUG(-1, yych); switch (yych) { case 'C': case 'c': goto yy253; @@ -3876,7 +3869,7 @@ yy267: { RETURN_TOKEN(T_NS_C); } -#line 3880 "Zend/zend_language_scanner.c" +#line 3873 "Zend/zend_language_scanner.c" yy271: YYDEBUG(271, *YYCURSOR); yych = *++YYCURSOR; @@ -3900,7 +3893,7 @@ yy272: { RETURN_TOKEN(T_DIR); } -#line 3904 "Zend/zend_language_scanner.c" +#line 3897 "Zend/zend_language_scanner.c" yy276: YYDEBUG(276, *YYCURSOR); yych = *++YYCURSOR; @@ -3929,7 +3922,7 @@ yy278: { RETURN_TOKEN(T_LINE); } -#line 3933 "Zend/zend_language_scanner.c" +#line 3926 "Zend/zend_language_scanner.c" yy282: YYDEBUG(282, *YYCURSOR); yych = *++YYCURSOR; @@ -3968,7 +3961,7 @@ yy286: { RETURN_TOKEN(T_METHOD_C); } -#line 3972 "Zend/zend_language_scanner.c" +#line 3965 "Zend/zend_language_scanner.c" yy290: YYDEBUG(290, *YYCURSOR); yych = *++YYCURSOR; @@ -4023,7 +4016,7 @@ yy297: { RETURN_TOKEN(T_FUNC_C); } -#line 4027 "Zend/zend_language_scanner.c" +#line 4020 "Zend/zend_language_scanner.c" yy301: YYDEBUG(301, *YYCURSOR); yych = *++YYCURSOR; @@ -4047,7 +4040,7 @@ yy302: { RETURN_TOKEN(T_FILE); } -#line 4051 "Zend/zend_language_scanner.c" +#line 4044 "Zend/zend_language_scanner.c" yy306: YYDEBUG(306, *YYCURSOR); yych = *++YYCURSOR; @@ -4081,7 +4074,7 @@ yy309: { RETURN_TOKEN(T_TRAIT_C); } -#line 4085 "Zend/zend_language_scanner.c" +#line 4078 "Zend/zend_language_scanner.c" yy313: YYDEBUG(313, *YYCURSOR); yych = *++YYCURSOR; @@ -4115,7 +4108,7 @@ yy316: { RETURN_TOKEN(T_CLASS_C); } -#line 4119 "Zend/zend_language_scanner.c" +#line 4112 "Zend/zend_language_scanner.c" yy320: YYDEBUG(320, *YYCURSOR); yych = *++YYCURSOR; @@ -4181,7 +4174,7 @@ yy331: { RETURN_TOKEN(T_HALT_COMPILER); } -#line 4185 "Zend/zend_language_scanner.c" +#line 4178 "Zend/zend_language_scanner.c" yy333: YYDEBUG(333, *YYCURSOR); yych = *++YYCURSOR; @@ -4205,7 +4198,7 @@ yy335: { RETURN_TOKEN(T_USE); } -#line 4209 "Zend/zend_language_scanner.c" +#line 4202 "Zend/zend_language_scanner.c" yy337: YYDEBUG(337, *YYCURSOR); yych = *++YYCURSOR; @@ -4228,7 +4221,7 @@ yy339: { RETURN_TOKEN(T_UNSET); } -#line 4232 "Zend/zend_language_scanner.c" +#line 4225 "Zend/zend_language_scanner.c" yy341: YYDEBUG(341, *YYCURSOR); ++YYCURSOR; @@ -4404,7 +4397,7 @@ yy356: { RETURN_TOKEN(T_INT_CAST); } -#line 4408 "Zend/zend_language_scanner.c" +#line 4401 "Zend/zend_language_scanner.c" yy359: YYDEBUG(359, *YYCURSOR); yych = *++YYCURSOR; @@ -4452,7 +4445,7 @@ yy364: { RETURN_TOKEN(T_DOUBLE_CAST); } -#line 4456 "Zend/zend_language_scanner.c" +#line 4449 "Zend/zend_language_scanner.c" yy368: YYDEBUG(368, *YYCURSOR); yych = *++YYCURSOR; @@ -4526,7 +4519,7 @@ yy378: { RETURN_TOKEN(T_STRING_CAST); } -#line 4530 "Zend/zend_language_scanner.c" +#line 4523 "Zend/zend_language_scanner.c" yy382: YYDEBUG(382, *YYCURSOR); yych = *++YYCURSOR; @@ -4563,7 +4556,7 @@ yy385: { RETURN_TOKEN(T_ARRAY_CAST); } -#line 4567 "Zend/zend_language_scanner.c" +#line 4560 "Zend/zend_language_scanner.c" yy389: YYDEBUG(389, *YYCURSOR); yych = *++YYCURSOR; @@ -4605,7 +4598,7 @@ yy393: { RETURN_TOKEN(T_OBJECT_CAST); } -#line 4609 "Zend/zend_language_scanner.c" +#line 4602 "Zend/zend_language_scanner.c" yy397: YYDEBUG(397, *YYCURSOR); yych = *++YYCURSOR; @@ -4650,7 +4643,7 @@ yy402: { RETURN_TOKEN(T_BOOL_CAST); } -#line 4654 "Zend/zend_language_scanner.c" +#line 4647 "Zend/zend_language_scanner.c" yy405: YYDEBUG(405, *YYCURSOR); yych = *++YYCURSOR; @@ -4714,7 +4707,7 @@ yy413: { RETURN_TOKEN(T_UNSET_CAST); } -#line 4718 "Zend/zend_language_scanner.c" +#line 4711 "Zend/zend_language_scanner.c" yy417: YYDEBUG(417, *YYCURSOR); yych = *++YYCURSOR; @@ -4732,7 +4725,7 @@ yy418: { RETURN_TOKEN(T_VAR); } -#line 4736 "Zend/zend_language_scanner.c" +#line 4729 "Zend/zend_language_scanner.c" yy420: YYDEBUG(420, *YYCURSOR); yych = *++YYCURSOR; @@ -4756,7 +4749,7 @@ yy422: { RETURN_TOKEN(T_NEW); } -#line 4760 "Zend/zend_language_scanner.c" +#line 4753 "Zend/zend_language_scanner.c" yy424: YYDEBUG(424, *YYCURSOR); yych = *++YYCURSOR; @@ -4799,7 +4792,7 @@ yy430: { RETURN_TOKEN(T_NAMESPACE); } -#line 4803 "Zend/zend_language_scanner.c" +#line 4796 "Zend/zend_language_scanner.c" yy432: YYDEBUG(432, *YYCURSOR); ++YYCURSOR; @@ -4813,7 +4806,7 @@ yy433: BEGIN(INITIAL); RETURN_TOKEN(T_CLOSE_TAG); /* implicit ';' at php-end tag */ } -#line 4817 "Zend/zend_language_scanner.c" +#line 4810 "Zend/zend_language_scanner.c" yy434: YYDEBUG(434, *YYCURSOR); ++YYCURSOR; @@ -4823,7 +4816,7 @@ yy434: { RETURN_TOKEN(T_COALESCE); } -#line 4827 "Zend/zend_language_scanner.c" +#line 4820 "Zend/zend_language_scanner.c" yy436: YYDEBUG(436, *YYCURSOR); yych = *++YYCURSOR; @@ -4858,7 +4851,7 @@ yy440: { RETURN_TOKEN(T_CONCAT_EQUAL); } -#line 4862 "Zend/zend_language_scanner.c" +#line 4855 "Zend/zend_language_scanner.c" yy442: YYDEBUG(442, *YYCURSOR); yych = *++YYCURSOR; @@ -4871,7 +4864,7 @@ yy442: { RETURN_TOKEN(T_ELLIPSIS); } -#line 4875 "Zend/zend_language_scanner.c" +#line 4868 "Zend/zend_language_scanner.c" yy445: YYDEBUG(445, *YYCURSOR); ++YYCURSOR; @@ -4881,7 +4874,7 @@ yy445: { RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM); } -#line 4885 "Zend/zend_language_scanner.c" +#line 4878 "Zend/zend_language_scanner.c" yy447: YYDEBUG(447, *YYCURSOR); ++YYCURSOR; @@ -4907,7 +4900,7 @@ yy449: { RETURN_TOKEN(T_MINUS_EQUAL); } -#line 4911 "Zend/zend_language_scanner.c" +#line 4904 "Zend/zend_language_scanner.c" yy451: YYDEBUG(451, *YYCURSOR); ++YYCURSOR; @@ -4917,7 +4910,7 @@ yy451: { RETURN_TOKEN(T_DEC); } -#line 4921 "Zend/zend_language_scanner.c" +#line 4914 "Zend/zend_language_scanner.c" yy453: YYDEBUG(453, *YYCURSOR); ++YYCURSOR; @@ -4928,7 +4921,7 @@ yy453: yy_push_state(ST_LOOKING_FOR_PROPERTY); RETURN_TOKEN(T_OBJECT_OPERATOR); } -#line 4932 "Zend/zend_language_scanner.c" +#line 4925 "Zend/zend_language_scanner.c" yy455: YYDEBUG(455, *YYCURSOR); yych = *++YYCURSOR; @@ -4977,7 +4970,7 @@ yy460: { RETURN_TOKEN(T_PUBLIC); } -#line 4981 "Zend/zend_language_scanner.c" +#line 4974 "Zend/zend_language_scanner.c" yy462: YYDEBUG(462, *YYCURSOR); yych = *++YYCURSOR; @@ -5036,7 +5029,7 @@ yy469: { RETURN_TOKEN(T_PROTECTED); } -#line 5040 "Zend/zend_language_scanner.c" +#line 5033 "Zend/zend_language_scanner.c" yy471: YYDEBUG(471, *YYCURSOR); yych = *++YYCURSOR; @@ -5070,7 +5063,7 @@ yy475: { RETURN_TOKEN(T_PRIVATE); } -#line 5074 "Zend/zend_language_scanner.c" +#line 5067 "Zend/zend_language_scanner.c" yy477: YYDEBUG(477, *YYCURSOR); ++YYCURSOR; @@ -5083,7 +5076,7 @@ yy477: { RETURN_TOKEN(T_PRINT); } -#line 5087 "Zend/zend_language_scanner.c" +#line 5080 "Zend/zend_language_scanner.c" yy479: YYDEBUG(479, *YYCURSOR); yych = *++YYCURSOR; @@ -5112,7 +5105,7 @@ yy482: { RETURN_TOKEN(T_GOTO); } -#line 5116 "Zend/zend_language_scanner.c" +#line 5109 "Zend/zend_language_scanner.c" yy484: YYDEBUG(484, *YYCURSOR); yych = *++YYCURSOR; @@ -5140,7 +5133,7 @@ yy487: { RETURN_TOKEN(T_GLOBAL); } -#line 5144 "Zend/zend_language_scanner.c" +#line 5137 "Zend/zend_language_scanner.c" yy489: YYDEBUG(489, *YYCURSOR); yych = *++YYCURSOR; @@ -5181,7 +5174,7 @@ yy495: { RETURN_TOKEN(T_BREAK); } -#line 5185 "Zend/zend_language_scanner.c" +#line 5178 "Zend/zend_language_scanner.c" yy497: YYDEBUG(497, *YYCURSOR); yych = *++YYCURSOR; @@ -5225,7 +5218,7 @@ yy503: { RETURN_TOKEN(T_SWITCH); } -#line 5229 "Zend/zend_language_scanner.c" +#line 5222 "Zend/zend_language_scanner.c" yy505: YYDEBUG(505, *YYCURSOR); yych = *++YYCURSOR; @@ -5253,7 +5246,7 @@ yy508: { RETURN_TOKEN(T_STATIC); } -#line 5257 "Zend/zend_language_scanner.c" +#line 5250 "Zend/zend_language_scanner.c" yy510: YYDEBUG(510, *YYCURSOR); yych = *++YYCURSOR; @@ -5284,7 +5277,7 @@ yy513: { RETURN_TOKEN(T_AS); } -#line 5288 "Zend/zend_language_scanner.c" +#line 5281 "Zend/zend_language_scanner.c" yy515: YYDEBUG(515, *YYCURSOR); yych = *++YYCURSOR; @@ -5307,7 +5300,7 @@ yy517: { RETURN_TOKEN(T_ARRAY); } -#line 5311 "Zend/zend_language_scanner.c" +#line 5304 "Zend/zend_language_scanner.c" yy519: YYDEBUG(519, *YYCURSOR); ++YYCURSOR; @@ -5320,7 +5313,7 @@ yy519: { RETURN_TOKEN(T_LOGICAL_AND); } -#line 5324 "Zend/zend_language_scanner.c" +#line 5317 "Zend/zend_language_scanner.c" yy521: YYDEBUG(521, *YYCURSOR); yych = *++YYCURSOR; @@ -5358,7 +5351,7 @@ yy526: { RETURN_TOKEN(T_ABSTRACT); } -#line 5362 "Zend/zend_language_scanner.c" +#line 5355 "Zend/zend_language_scanner.c" yy528: YYDEBUG(528, *YYCURSOR); yych = *++YYCURSOR; @@ -5386,7 +5379,7 @@ yy531: { RETURN_TOKEN(T_WHILE); } -#line 5390 "Zend/zend_language_scanner.c" +#line 5383 "Zend/zend_language_scanner.c" yy533: YYDEBUG(533, *YYCURSOR); ++YYCURSOR; @@ -5399,7 +5392,7 @@ yy533: { RETURN_TOKEN(T_IF); } -#line 5403 "Zend/zend_language_scanner.c" +#line 5396 "Zend/zend_language_scanner.c" yy535: YYDEBUG(535, *YYCURSOR); yych = *++YYCURSOR; @@ -5455,7 +5448,7 @@ yy540: { RETURN_TOKEN(T_ISSET); } -#line 5459 "Zend/zend_language_scanner.c" +#line 5452 "Zend/zend_language_scanner.c" yy542: YYDEBUG(542, *YYCURSOR); yych = *++YYCURSOR; @@ -5513,7 +5506,7 @@ yy549: { RETURN_TOKEN(T_INCLUDE); } -#line 5517 "Zend/zend_language_scanner.c" +#line 5510 "Zend/zend_language_scanner.c" yy550: YYDEBUG(550, *YYCURSOR); yych = *++YYCURSOR; @@ -5546,7 +5539,7 @@ yy554: { RETURN_TOKEN(T_INCLUDE_ONCE); } -#line 5550 "Zend/zend_language_scanner.c" +#line 5543 "Zend/zend_language_scanner.c" yy556: YYDEBUG(556, *YYCURSOR); yych = *++YYCURSOR; @@ -5584,7 +5577,7 @@ yy561: { RETURN_TOKEN(T_INTERFACE); } -#line 5588 "Zend/zend_language_scanner.c" +#line 5581 "Zend/zend_language_scanner.c" yy563: YYDEBUG(563, *YYCURSOR); yych = *++YYCURSOR; @@ -5638,7 +5631,7 @@ yy569: { RETURN_TOKEN(T_INSTEADOF); } -#line 5642 "Zend/zend_language_scanner.c" +#line 5635 "Zend/zend_language_scanner.c" yy571: YYDEBUG(571, *YYCURSOR); yych = *++YYCURSOR; @@ -5671,7 +5664,7 @@ yy575: { RETURN_TOKEN(T_INSTANCEOF); } -#line 5675 "Zend/zend_language_scanner.c" +#line 5668 "Zend/zend_language_scanner.c" yy577: YYDEBUG(577, *YYCURSOR); yych = *++YYCURSOR; @@ -5719,7 +5712,7 @@ yy584: { RETURN_TOKEN(T_IMPLEMENTS); } -#line 5723 "Zend/zend_language_scanner.c" +#line 5716 "Zend/zend_language_scanner.c" yy586: YYDEBUG(586, *YYCURSOR); yych = *++YYCURSOR; @@ -5751,7 +5744,7 @@ yy587: { RETURN_TOKEN(T_TRY); } -#line 5755 "Zend/zend_language_scanner.c" +#line 5748 "Zend/zend_language_scanner.c" yy590: YYDEBUG(590, *YYCURSOR); yych = *++YYCURSOR; @@ -5774,7 +5767,7 @@ yy592: { RETURN_TOKEN(T_TRAIT); } -#line 5778 "Zend/zend_language_scanner.c" +#line 5771 "Zend/zend_language_scanner.c" yy594: YYDEBUG(594, *YYCURSOR); yych = *++YYCURSOR; @@ -5797,7 +5790,7 @@ yy596: { RETURN_TOKEN(T_THROW); } -#line 5801 "Zend/zend_language_scanner.c" +#line 5794 "Zend/zend_language_scanner.c" yy598: YYDEBUG(598, *YYCURSOR); yych = *++YYCURSOR; @@ -5834,7 +5827,7 @@ yy602: { RETURN_TOKEN(T_YIELD); } -#line 5838 "Zend/zend_language_scanner.c" +#line 5831 "Zend/zend_language_scanner.c" yy603: YYDEBUG(603, *YYCURSOR); ++YYCURSOR; @@ -5881,7 +5874,7 @@ yy608: HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN(T_YIELD_FROM); } -#line 5885 "Zend/zend_language_scanner.c" +#line 5878 "Zend/zend_language_scanner.c" yy610: YYDEBUG(610, *YYCURSOR); yych = *++YYCURSOR; @@ -5946,7 +5939,7 @@ yy617: { RETURN_TOKEN(T_REQUIRE); } -#line 5950 "Zend/zend_language_scanner.c" +#line 5943 "Zend/zend_language_scanner.c" yy618: YYDEBUG(618, *YYCURSOR); yych = *++YYCURSOR; @@ -5979,7 +5972,7 @@ yy622: { RETURN_TOKEN(T_REQUIRE_ONCE); } -#line 5983 "Zend/zend_language_scanner.c" +#line 5976 "Zend/zend_language_scanner.c" yy624: YYDEBUG(624, *YYCURSOR); yych = *++YYCURSOR; @@ -6002,7 +5995,7 @@ yy626: { RETURN_TOKEN(T_RETURN); } -#line 6006 "Zend/zend_language_scanner.c" +#line 5999 "Zend/zend_language_scanner.c" yy628: YYDEBUG(628, *YYCURSOR); yych = *++YYCURSOR; @@ -6096,7 +6089,7 @@ yy637: { RETURN_TOKEN(T_CONTINUE); } -#line 6100 "Zend/zend_language_scanner.c" +#line 6093 "Zend/zend_language_scanner.c" yy639: YYDEBUG(639, *YYCURSOR); ++YYCURSOR; @@ -6109,7 +6102,7 @@ yy639: { RETURN_TOKEN(T_CONST); } -#line 6113 "Zend/zend_language_scanner.c" +#line 6106 "Zend/zend_language_scanner.c" yy641: YYDEBUG(641, *YYCURSOR); yych = *++YYCURSOR; @@ -6138,7 +6131,7 @@ yy644: { RETURN_TOKEN(T_CLONE); } -#line 6142 "Zend/zend_language_scanner.c" +#line 6135 "Zend/zend_language_scanner.c" yy646: YYDEBUG(646, *YYCURSOR); yych = *++YYCURSOR; @@ -6156,7 +6149,7 @@ yy647: { RETURN_TOKEN(T_CLASS); } -#line 6160 "Zend/zend_language_scanner.c" +#line 6153 "Zend/zend_language_scanner.c" yy649: YYDEBUG(649, *YYCURSOR); yych = *++YYCURSOR; @@ -6206,7 +6199,7 @@ yy656: { RETURN_TOKEN(T_CALLABLE); } -#line 6210 "Zend/zend_language_scanner.c" +#line 6203 "Zend/zend_language_scanner.c" yy658: YYDEBUG(658, *YYCURSOR); ++YYCURSOR; @@ -6219,7 +6212,7 @@ yy658: { RETURN_TOKEN(T_CASE); } -#line 6223 "Zend/zend_language_scanner.c" +#line 6216 "Zend/zend_language_scanner.c" yy660: YYDEBUG(660, *YYCURSOR); yych = *++YYCURSOR; @@ -6237,7 +6230,7 @@ yy661: { RETURN_TOKEN(T_CATCH); } -#line 6241 "Zend/zend_language_scanner.c" +#line 6234 "Zend/zend_language_scanner.c" yy663: YYDEBUG(663, *YYCURSOR); yych = *++YYCURSOR; @@ -6292,7 +6285,7 @@ yy671: { RETURN_TOKEN(T_FUNCTION); } -#line 6296 "Zend/zend_language_scanner.c" +#line 6289 "Zend/zend_language_scanner.c" yy673: YYDEBUG(673, *YYCURSOR); ++YYCURSOR; @@ -6320,7 +6313,7 @@ yy674: { RETURN_TOKEN(T_FOR); } -#line 6324 "Zend/zend_language_scanner.c" +#line 6317 "Zend/zend_language_scanner.c" yy675: YYDEBUG(675, *YYCURSOR); yych = *++YYCURSOR; @@ -6348,7 +6341,7 @@ yy678: { RETURN_TOKEN(T_FOREACH); } -#line 6352 "Zend/zend_language_scanner.c" +#line 6345 "Zend/zend_language_scanner.c" yy680: YYDEBUG(680, *YYCURSOR); yych = *++YYCURSOR; @@ -6386,7 +6379,7 @@ yy683: { RETURN_TOKEN(T_FINAL); } -#line 6390 "Zend/zend_language_scanner.c" +#line 6383 "Zend/zend_language_scanner.c" yy684: YYDEBUG(684, *YYCURSOR); yych = *++YYCURSOR; @@ -6404,7 +6397,7 @@ yy685: { RETURN_TOKEN(T_FINALLY); } -#line 6408 "Zend/zend_language_scanner.c" +#line 6401 "Zend/zend_language_scanner.c" yy687: YYDEBUG(687, *YYCURSOR); yych = *++YYCURSOR; @@ -6439,7 +6432,7 @@ yy689: { RETURN_TOKEN(T_DO); } -#line 6443 "Zend/zend_language_scanner.c" +#line 6436 "Zend/zend_language_scanner.c" yy691: YYDEBUG(691, *YYCURSOR); ++YYCURSOR; @@ -6452,7 +6445,7 @@ yy691: { RETURN_TOKEN(T_EXIT); } -#line 6456 "Zend/zend_language_scanner.c" +#line 6449 "Zend/zend_language_scanner.c" yy693: YYDEBUG(693, *YYCURSOR); yych = *++YYCURSOR; @@ -6491,7 +6484,7 @@ yy698: { RETURN_TOKEN(T_DEFAULT); } -#line 6495 "Zend/zend_language_scanner.c" +#line 6488 "Zend/zend_language_scanner.c" yy700: YYDEBUG(700, *YYCURSOR); yych = *++YYCURSOR; @@ -6519,7 +6512,7 @@ yy703: { RETURN_TOKEN(T_DECLARE); } -#line 6523 "Zend/zend_language_scanner.c" +#line 6516 "Zend/zend_language_scanner.c" yy705: YYDEBUG(705, *YYCURSOR); yych = *++YYCURSOR; @@ -6603,7 +6596,7 @@ yy716: { RETURN_TOKEN(T_EXTENDS); } -#line 6607 "Zend/zend_language_scanner.c" +#line 6600 "Zend/zend_language_scanner.c" yy718: YYDEBUG(718, *YYCURSOR); ++YYCURSOR; @@ -6616,7 +6609,7 @@ yy718: { RETURN_TOKEN(T_EXIT); } -#line 6620 "Zend/zend_language_scanner.c" +#line 6613 "Zend/zend_language_scanner.c" yy720: YYDEBUG(720, *YYCURSOR); yych = *++YYCURSOR; @@ -6634,11 +6627,10 @@ yy721: { RETURN_TOKEN(T_EVAL); } -#line 6638 "Zend/zend_language_scanner.c" +#line 6631 "Zend/zend_language_scanner.c" yy723: YYDEBUG(723, *YYCURSOR); yych = *++YYCURSOR; - YYDEBUG(-1, yych); switch (yych) { case 'D': case 'd': goto yy724; @@ -6708,7 +6700,7 @@ yy732: { RETURN_TOKEN(T_ENDWHILE); } -#line 6712 "Zend/zend_language_scanner.c" +#line 6704 "Zend/zend_language_scanner.c" yy734: YYDEBUG(734, *YYCURSOR); yych = *++YYCURSOR; @@ -6741,7 +6733,7 @@ yy738: { RETURN_TOKEN(T_ENDSWITCH); } -#line 6745 "Zend/zend_language_scanner.c" +#line 6737 "Zend/zend_language_scanner.c" yy740: YYDEBUG(740, *YYCURSOR); ++YYCURSOR; @@ -6754,7 +6746,7 @@ yy740: { RETURN_TOKEN(T_ENDIF); } -#line 6758 "Zend/zend_language_scanner.c" +#line 6750 "Zend/zend_language_scanner.c" yy742: YYDEBUG(742, *YYCURSOR); yych = *++YYCURSOR; @@ -6787,7 +6779,7 @@ yy744: { RETURN_TOKEN(T_ENDFOR); } -#line 6791 "Zend/zend_language_scanner.c" +#line 6783 "Zend/zend_language_scanner.c" yy745: YYDEBUG(745, *YYCURSOR); yych = *++YYCURSOR; @@ -6815,7 +6807,7 @@ yy748: { RETURN_TOKEN(T_ENDFOREACH); } -#line 6819 "Zend/zend_language_scanner.c" +#line 6811 "Zend/zend_language_scanner.c" yy750: YYDEBUG(750, *YYCURSOR); yych = *++YYCURSOR; @@ -6853,7 +6845,7 @@ yy755: { RETURN_TOKEN(T_ENDDECLARE); } -#line 6857 "Zend/zend_language_scanner.c" +#line 6849 "Zend/zend_language_scanner.c" yy757: YYDEBUG(757, *YYCURSOR); yych = *++YYCURSOR; @@ -6876,7 +6868,7 @@ yy759: { RETURN_TOKEN(T_EMPTY); } -#line 6880 "Zend/zend_language_scanner.c" +#line 6872 "Zend/zend_language_scanner.c" yy761: YYDEBUG(761, *YYCURSOR); yych = *++YYCURSOR; @@ -6909,7 +6901,7 @@ yy763: { RETURN_TOKEN(T_ELSE); } -#line 6913 "Zend/zend_language_scanner.c" +#line 6905 "Zend/zend_language_scanner.c" yy764: YYDEBUG(764, *YYCURSOR); yych = *++YYCURSOR; @@ -6927,7 +6919,7 @@ yy765: { RETURN_TOKEN(T_ELSEIF); } -#line 6931 "Zend/zend_language_scanner.c" +#line 6923 "Zend/zend_language_scanner.c" yy767: YYDEBUG(767, *YYCURSOR); yych = *++YYCURSOR; @@ -6945,7 +6937,7 @@ yy768: { RETURN_TOKEN(T_ECHO); } -#line 6949 "Zend/zend_language_scanner.c" +#line 6941 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: @@ -7023,7 +7015,7 @@ yy773: HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN(T_WHITESPACE); } -#line 7027 "Zend/zend_language_scanner.c" +#line 7019 "Zend/zend_language_scanner.c" yy774: YYDEBUG(774, *YYCURSOR); ++YYCURSOR; @@ -7037,7 +7029,7 @@ yy775: yy_pop_state(); goto restart; } -#line 7041 "Zend/zend_language_scanner.c" +#line 7033 "Zend/zend_language_scanner.c" yy776: YYDEBUG(776, *YYCURSOR); ++YYCURSOR; @@ -7052,7 +7044,7 @@ yy777: zend_copy_value(zendlval, yytext, yyleng); RETURN_TOKEN(T_STRING); } -#line 7056 "Zend/zend_language_scanner.c" +#line 7048 "Zend/zend_language_scanner.c" yy778: YYDEBUG(778, *YYCURSOR); yych = *++YYCURSOR; @@ -7077,7 +7069,7 @@ yy781: { RETURN_TOKEN(T_OBJECT_OPERATOR); } -#line 7081 "Zend/zend_language_scanner.c" +#line 7073 "Zend/zend_language_scanner.c" yy783: YYDEBUG(783, *YYCURSOR); ++YYCURSOR; @@ -7141,7 +7133,6 @@ yyc_ST_LOOKING_FOR_VARNAME: } yy787: YYDEBUG(787, *YYCURSOR); - yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '_') { if (yych <= '@') { @@ -7170,7 +7161,7 @@ yy788: yy_push_state(ST_IN_SCRIPTING); goto restart; } -#line 7174 "Zend/zend_language_scanner.c" +#line 7165 "Zend/zend_language_scanner.c" yy789: YYDEBUG(789, *YYCURSOR); yych = *++YYCURSOR; @@ -7205,7 +7196,7 @@ yy793: yy_push_state(ST_IN_SCRIPTING); RETURN_TOKEN(T_STRING_VARNAME); } -#line 7209 "Zend/zend_language_scanner.c" +#line 7200 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_NOWDOC: @@ -7272,7 +7263,7 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 7276 "Zend/zend_language_scanner.c" +#line 7267 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@ -7358,7 +7349,6 @@ yyc_ST_VAR_OFFSET: } } YYDEBUG(801, *YYCURSOR); - yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { if (yych <= '9') { @@ -7393,7 +7383,7 @@ string: } RETURN_TOKEN(T_NUM_STRING); } -#line 7397 "Zend/zend_language_scanner.c" +#line 7387 "Zend/zend_language_scanner.c" yy803: YYDEBUG(803, *YYCURSOR); yych = *++YYCURSOR; @@ -7418,7 +7408,7 @@ yy805: /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */ RETURN_TOKEN(yytext[0]); } -#line 7422 "Zend/zend_language_scanner.c" +#line 7412 "Zend/zend_language_scanner.c" yy806: YYDEBUG(806, *YYCURSOR); ++YYCURSOR; @@ -7429,7 +7419,7 @@ yy806: yy_pop_state(); RETURN_TOKEN(']'); } -#line 7433 "Zend/zend_language_scanner.c" +#line 7423 "Zend/zend_language_scanner.c" yy808: YYDEBUG(808, *YYCURSOR); yych = *++YYCURSOR; @@ -7447,7 +7437,7 @@ yy809: ZVAL_NULL(zendlval); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 7451 "Zend/zend_language_scanner.c" +#line 7441 "Zend/zend_language_scanner.c" yy811: YYDEBUG(811, *YYCURSOR); ++YYCURSOR; @@ -7461,7 +7451,7 @@ yy812: zend_copy_value(zendlval, yytext, yyleng); RETURN_TOKEN(T_STRING); } -#line 7465 "Zend/zend_language_scanner.c" +#line 7455 "Zend/zend_language_scanner.c" yy813: YYDEBUG(813, *YYCURSOR); ++YYCURSOR; @@ -7476,7 +7466,7 @@ yy813: zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); goto restart; } -#line 7480 "Zend/zend_language_scanner.c" +#line 7470 "Zend/zend_language_scanner.c" yy815: YYDEBUG(815, *YYCURSOR); ++YYCURSOR; @@ -7517,7 +7507,7 @@ yy819: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 7521 "Zend/zend_language_scanner.c" +#line 7511 "Zend/zend_language_scanner.c" yy820: YYDEBUG(820, *YYCURSOR); ++YYCURSOR; @@ -7562,7 +7552,7 @@ yy827: ZVAL_STRINGL(zendlval, yytext, yyleng); RETURN_TOKEN(T_NUM_STRING); } -#line 7566 "Zend/zend_language_scanner.c" +#line 7556 "Zend/zend_language_scanner.c" yy828: YYDEBUG(828, *YYCURSOR); ++YYCURSOR; diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index e744b266e8..201445da01 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -667,7 +667,7 @@ zend_op_array *compile_filename(int type, zval *filename) zend_destroy_file_handle(&file_handle); if (filename==&tmp) { - zval_ptr_dtor_nogc(&tmp); + zval_dtor(&tmp); } return retval; } @@ -761,7 +761,7 @@ zend_op_array *compile_string(zval *source_string, char *filename) } zend_restore_lexical_state(&original_lex_state); - zval_ptr_dtor_nogc(&tmp); + zval_dtor(&tmp); return op_array; } @@ -812,7 +812,7 @@ int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_ SCNG(script_filtered) = NULL; } zend_restore_lexical_state(&original_lex_state); - zval_ptr_dtor_nogc(str); + zval_dtor(str); return SUCCESS; } diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h index ceb3688c02..09bcf92f4f 100644 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.14.3 */ +/* Generated by re2c 0.15.3 */ #line 3 "Zend/zend_language_scanner_defs.h" enum YYCONDTYPE { diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index 382ee29fb2..22e81dc009 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -1680,7 +1680,7 @@ ZEND_API int zend_std_cast_object_tostring(zval *readobj, zval *writeobj, int ty ce = Z_OBJCE_P(readobj); zend_error(E_NOTICE, "Object of class %s could not be converted to int", ZSTR_VAL(ce->name)); if (readobj == writeobj) { - zval_ptr_dtor_nogc(readobj); + zval_dtor(readobj); } ZVAL_LONG(writeobj, 1); return SUCCESS; @@ -1688,7 +1688,7 @@ ZEND_API int zend_std_cast_object_tostring(zval *readobj, zval *writeobj, int ty ce = Z_OBJCE_P(readobj); zend_error(E_NOTICE, "Object of class %s could not be converted to float", ZSTR_VAL(ce->name)); if (readobj == writeobj) { - zval_ptr_dtor_nogc(readobj); + zval_dtor(readobj); } ZVAL_DOUBLE(writeobj, 1); return SUCCESS; diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index c2fd3e39af..e24d033da3 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -332,7 +332,7 @@ try_again: zval dst; convert_object_to_type(op, &dst, IS_LONG, convert_to_long); - zval_ptr_dtor_nogc(op); + zval_dtor(op); if (Z_TYPE(dst) == IS_LONG) { ZVAL_COPY_VALUE(op, &dst); @@ -392,7 +392,7 @@ try_again: zval dst; convert_object_to_type(op, &dst, IS_DOUBLE, convert_to_double); - zval_ptr_dtor_nogc(op); + zval_dtor(op); if (Z_TYPE(dst) == IS_DOUBLE) { ZVAL_COPY_VALUE(op, &dst); @@ -417,7 +417,7 @@ ZEND_API void ZEND_FASTCALL convert_to_null(zval *op) /* {{{ */ ZVAL_COPY_VALUE(&org, op); if (Z_OBJ_HT_P(op)->cast_object(&org, op, IS_NULL) == SUCCESS) { - zval_ptr_dtor_nogc(&org); + zval_dtor(&org); return; } ZVAL_COPY_VALUE(op, &org); @@ -477,7 +477,7 @@ try_again: zval dst; convert_object_to_type(op, &dst, _IS_BOOL, convert_to_boolean); - zval_ptr_dtor_nogc(op); + zval_dtor(op); if (Z_TYPE(dst) == IS_FALSE || Z_TYPE(dst) == IS_TRUE) { ZVAL_COPY_VALUE(op, &dst); @@ -556,7 +556,7 @@ try_again: zval dst; convert_object_to_type(op, &dst, IS_STRING, convert_to_string); - zval_ptr_dtor_nogc(op); + zval_dtor(op); if (Z_TYPE(dst) == IS_STRING) { ZVAL_COPY_VALUE(op, &dst); @@ -613,11 +613,11 @@ try_again: } else { arr = zend_array_dup(obj_ht); } - zval_ptr_dtor_nogc(op); + zval_dtor(op); ZVAL_ARR(op, arr); } else { arr = zend_array_dup(obj_ht); - zval_ptr_dtor_nogc(op); + zval_dtor(op); ZVAL_ARR(op, arr); } return; @@ -627,13 +627,13 @@ try_again: convert_object_to_type(op, &dst, IS_ARRAY, convert_to_array); if (Z_TYPE(dst) == IS_ARRAY) { - zval_ptr_dtor_nogc(op); + zval_dtor(op); ZVAL_COPY_VALUE(op, &dst); return; } } - zval_ptr_dtor_nogc(op); + zval_dtor(op); array_init(op); } break; @@ -1224,7 +1224,7 @@ ZEND_API int ZEND_FASTCALL mod_function(zval *result, zval *op1, zval *op2) /* { convert_op1_op2_long(op1, op1_lval, op2, op2_lval, ZEND_MOD, mod_function); if (op1 == result) { - zval_ptr_dtor_nogc(result); + zval_dtor(result); } if (op2_lval == 0) { @@ -1425,7 +1425,7 @@ ZEND_API int ZEND_FASTCALL bitwise_or_function(zval *result, zval *op1, zval *op } if (op1 == result) { - zval_ptr_dtor_nogc(result); + zval_dtor(result); } ZVAL_LONG(result, op1_lval | op2_lval); return SUCCESS; @@ -1492,7 +1492,7 @@ ZEND_API int ZEND_FASTCALL bitwise_and_function(zval *result, zval *op1, zval *o } if (op1 == result) { - zval_ptr_dtor_nogc(result); + zval_dtor(result); } ZVAL_LONG(result, op1_lval & op2_lval); return SUCCESS; @@ -1559,7 +1559,7 @@ ZEND_API int ZEND_FASTCALL bitwise_xor_function(zval *result, zval *op1, zval *o } if (op1 == result) { - zval_ptr_dtor_nogc(result); + zval_dtor(result); } ZVAL_LONG(result, op1_lval ^ op2_lval); return SUCCESS; @@ -1573,7 +1573,7 @@ ZEND_API int ZEND_FASTCALL shift_left_function(zval *result, zval *op1, zval *op convert_op1_op2_long(op1, op1_lval, op2, op2_lval, ZEND_SL, shift_left_function); if (op1 == result) { - zval_ptr_dtor_nogc(result); + zval_dtor(result); } /* prevent wrapping quirkiness on some processors where << 64 + x == << x */ @@ -1604,7 +1604,7 @@ ZEND_API int ZEND_FASTCALL shift_right_function(zval *result, zval *op1, zval *o convert_op1_op2_long(op1, op1_lval, op2, op2_lval, ZEND_SR, shift_right_function); if (op1 == result) { - zval_ptr_dtor_nogc(result); + zval_dtor(result); } /* prevent wrapping quirkiness on some processors where >> 64 + x == >> x */ @@ -1646,7 +1646,7 @@ ZEND_API int ZEND_FASTCALL concat_function(zval *result, zval *op1, zval *op2) / * we have to free it. */ if (result == op1) { - zval_ptr_dtor_nogc(op1); + zval_dtor(op1); if (UNEXPECTED(op1 == op2)) { op2 = &op1_copy; } @@ -1699,10 +1699,10 @@ ZEND_API int ZEND_FASTCALL concat_function(zval *result, zval *op1, zval *op2) / } if (UNEXPECTED(use_copy1)) { - zval_ptr_dtor_nogc(op1); + zval_dtor(op1); } if (UNEXPECTED(use_copy2)) { - zval_ptr_dtor_nogc(op2); + zval_dtor(op2); } return SUCCESS; } @@ -1797,7 +1797,7 @@ static inline void zend_free_obj_get_result(zval *op) /* {{{ */ { if (Z_REFCOUNTED_P(op)) { if (Z_REFCOUNT_P(op) == 0) { - zval_ptr_dtor_nogc(op); + zval_dtor(op); } else { zval_ptr_dtor(op); } diff --git a/Zend/zend_variables.c b/Zend/zend_variables.c index 76b26864ca..01b68c25a4 100644 --- a/Zend/zend_variables.c +++ b/Zend/zend_variables.c @@ -30,6 +30,10 @@ ZEND_API void ZEND_FASTCALL _zval_dtor_func(zend_refcounted *p ZEND_FILE_LINE_DC) { + if (--GC_REFCOUNT(p)) { + return; + } + switch (GC_TYPE(p)) { case IS_STRING: case IS_CONSTANT: { @@ -75,13 +79,61 @@ ZEND_API void ZEND_FASTCALL _zval_dtor_func(zend_refcounted *p ZEND_FILE_LINE_DC } } -ZEND_API void _zval_internal_dtor(zval *zval_ptr ZEND_FILE_LINE_DC) +ZEND_API void ZEND_FASTCALL _zval_dtor_func_for_ptr(zend_refcounted *p ZEND_FILE_LINE_DC) +{ + switch (GC_TYPE(p)) { + case IS_STRING: + case IS_CONSTANT: { + zend_string *str = (zend_string*)p; + CHECK_ZVAL_STRING_REL(str); + zend_string_free(str); + break; + } + case IS_ARRAY: { + zend_array *arr = (zend_array*)p; + + zend_array_destroy(arr); + break; + } + case IS_CONSTANT_AST: { + zend_ast_ref *ast = (zend_ast_ref*)p; + + zend_ast_destroy_and_free(ast->ast); + efree_size(ast, sizeof(zend_ast_ref)); + break; + } + case IS_OBJECT: { + zend_object *obj = (zend_object*)p; + + zend_objects_store_del(obj); + break; + } + case IS_RESOURCE: { + zend_resource *res = (zend_resource*)p; + + /* destroy resource */ + zend_list_free(res); + break; + } + case IS_REFERENCE: { + zend_reference *ref = (zend_reference*)p; + + i_zval_ptr_dtor(&ref->val ZEND_FILE_LINE_RELAY_CC); + efree_size(ref, sizeof(zend_reference)); + break; + } + default: + break; + } +} + +ZEND_API void _zval_internal_dtor(zval *zvalue ZEND_FILE_LINE_DC) { - switch (Z_TYPE_P(zval_ptr)) { + switch (Z_TYPE_P(zvalue)) { case IS_STRING: case IS_CONSTANT: - CHECK_ZVAL_STRING_REL(Z_STR_P(zval_ptr)); - zend_string_release(Z_STR_P(zval_ptr)); + CHECK_ZVAL_STRING_REL(Z_STR_P(zvalue)); + zend_string_release(Z_STR_P(zvalue)); break; case IS_ARRAY: case IS_CONSTANT_AST: @@ -90,7 +142,7 @@ ZEND_API void _zval_internal_dtor(zval *zval_ptr ZEND_FILE_LINE_DC) zend_error_noreturn(E_CORE_ERROR, "Internal zval's can't be arrays, objects or resources"); break; case IS_REFERENCE: { - zend_reference *ref = (zend_reference*)Z_REF_P(zval_ptr); + zend_reference *ref = (zend_reference*)Z_REF_P(zvalue); zval_internal_ptr_dtor(&ref->val); free(ref); @@ -106,13 +158,13 @@ ZEND_API void _zval_internal_dtor(zval *zval_ptr ZEND_FILE_LINE_DC) } } -ZEND_API void _zval_internal_dtor_for_ptr(zval *zval_ptr ZEND_FILE_LINE_DC) +ZEND_API void _zval_internal_dtor_for_ptr(zval *zvalue ZEND_FILE_LINE_DC) { - switch (Z_TYPE_P(zval_ptr)) { + switch (Z_TYPE_P(zvalue)) { case IS_STRING: case IS_CONSTANT: - CHECK_ZVAL_STRING_REL(Z_STR_P(zval_ptr)); - zend_string_free(Z_STR_P(zval_ptr)); + CHECK_ZVAL_STRING_REL(Z_STR_P(zvalue)); + zend_string_free(Z_STR_P(zvalue)); break; case IS_ARRAY: case IS_CONSTANT_AST: @@ -121,7 +173,7 @@ ZEND_API void _zval_internal_dtor_for_ptr(zval *zval_ptr ZEND_FILE_LINE_DC) zend_error_noreturn(E_CORE_ERROR, "Internal zval's can't be arrays, objects or resources"); break; case IS_REFERENCE: { - zend_reference *ref = (zend_reference*)Z_REF_P(zval_ptr); + zend_reference *ref = (zend_reference*)Z_REF_P(zvalue); zval_internal_ptr_dtor(&ref->val); free(ref); @@ -163,17 +215,17 @@ ZEND_API void zval_add_ref_unref(zval *p) } } -ZEND_API void ZEND_FASTCALL _zval_copy_ctor_func(zval *zval_ptr ZEND_FILE_LINE_DC) +ZEND_API void ZEND_FASTCALL _zval_copy_ctor_func(zval *zvalue ZEND_FILE_LINE_DC) { - if (EXPECTED(Z_TYPE_P(zval_ptr) == IS_ARRAY)) { - ZVAL_ARR(zval_ptr, zend_array_dup(Z_ARRVAL_P(zval_ptr))); - } else if (EXPECTED(Z_TYPE_P(zval_ptr) == IS_STRING) || - EXPECTED(Z_TYPE_P(zval_ptr) == IS_CONSTANT)) { - CHECK_ZVAL_STRING_REL(Z_STR_P(zval_ptr)); - Z_STR_P(zval_ptr) = zend_string_dup(Z_STR_P(zval_ptr), 0); - } else if (EXPECTED(Z_TYPE_P(zval_ptr) == IS_CONSTANT_AST)) { - zend_ast *copy = zend_ast_copy(Z_ASTVAL_P(zval_ptr)); - ZVAL_NEW_AST(zval_ptr, copy); + if (EXPECTED(Z_TYPE_P(zvalue) == IS_ARRAY)) { + ZVAL_ARR(zvalue, zend_array_dup(Z_ARRVAL_P(zvalue))); + } else if (EXPECTED(Z_TYPE_P(zvalue) == IS_STRING) || + EXPECTED(Z_TYPE_P(zvalue) == IS_CONSTANT)) { + CHECK_ZVAL_STRING_REL(Z_STR_P(zvalue)); + Z_STR_P(zvalue) = zend_string_dup(Z_STR_P(zvalue), 0); + } else if (EXPECTED(Z_TYPE_P(zvalue) == IS_CONSTANT_AST)) { + zend_ast *copy = zend_ast_copy(Z_ASTVAL_P(zvalue)); + ZVAL_NEW_AST(zvalue, copy); } } @@ -184,16 +236,16 @@ ZEND_API size_t zend_print_variable(zval *var) } -ZEND_API void _zval_dtor_wrapper(zval *zval_ptr) +ZEND_API void _zval_dtor_wrapper(zval *zvalue) { - zval_dtor(zval_ptr); + zval_dtor(zvalue); } #if ZEND_DEBUG -ZEND_API void _zval_internal_dtor_wrapper(zval *zval_ptr) +ZEND_API void _zval_internal_dtor_wrapper(zval *zvalue) { - zval_internal_dtor(zval_ptr); + zval_internal_dtor(zvalue); } diff --git a/Zend/zend_variables.h b/Zend/zend_variables.h index 571b39caa4..6958d6139f 100644 --- a/Zend/zend_variables.h +++ b/Zend/zend_variables.h @@ -29,15 +29,25 @@ BEGIN_EXTERN_C() ZEND_API void ZEND_FASTCALL _zval_dtor_func(zend_refcounted *p ZEND_FILE_LINE_DC); -ZEND_API void ZEND_FASTCALL _zval_copy_ctor_func(zval *zval_ptr ZEND_FILE_LINE_DC); +ZEND_API void ZEND_FASTCALL _zval_dtor_func_for_ptr(zend_refcounted *p ZEND_FILE_LINE_DC); +ZEND_API void ZEND_FASTCALL _zval_copy_ctor_func(zval *zvalue ZEND_FILE_LINE_DC); -#define zval_dtor_func(zval_ptr) _zval_dtor_func(zval_ptr ZEND_FILE_LINE_CC) -#define zval_copy_ctor_func(zval_ptr) _zval_copy_ctor_func(zval_ptr ZEND_FILE_LINE_CC) +#define zval_dtor_func(zv) _zval_dtor_func(zv ZEND_FILE_LINE_CC) +#define zval_dtor_func_for_ptr(zv) _zval_dtor_func_for_ptr(zv ZEND_FILE_LINE_CC) +#define zval_copy_ctor_func(zv) _zval_copy_ctor_func(zv ZEND_FILE_LINE_CC) + +static zend_always_inline void _zval_dtor(zval *zvalue ZEND_FILE_LINE_DC) +{ + if (!Z_REFCOUNTED_P(zvalue)) { + return; + } + _zval_dtor_func(Z_COUNTED_P(zvalue) ZEND_FILE_LINE_RELAY_CC); +} static zend_always_inline void _zval_ptr_dtor_nogc(zval *zval_ptr ZEND_FILE_LINE_DC) { if (Z_REFCOUNTED_P(zval_ptr) && !Z_DELREF_P(zval_ptr)) { - _zval_dtor_func(Z_COUNTED_P(zval_ptr) ZEND_FILE_LINE_RELAY_CC); + _zval_dtor_func_for_ptr(Z_COUNTED_P(zval_ptr) ZEND_FILE_LINE_RELAY_CC); } } @@ -45,80 +55,78 @@ static zend_always_inline void i_zval_ptr_dtor(zval *zval_ptr ZEND_FILE_LINE_DC) { if (Z_REFCOUNTED_P(zval_ptr)) { if (!Z_DELREF_P(zval_ptr)) { - _zval_dtor_func(Z_COUNTED_P(zval_ptr) ZEND_FILE_LINE_RELAY_CC); + _zval_dtor_func_for_ptr(Z_COUNTED_P(zval_ptr) ZEND_FILE_LINE_RELAY_CC); } else { GC_ZVAL_CHECK_POSSIBLE_ROOT(zval_ptr); } } } -static zend_always_inline void _zval_copy_ctor(zval *zval_ptr ZEND_FILE_LINE_DC) +static zend_always_inline void _zval_copy_ctor(zval *zvalue ZEND_FILE_LINE_DC) { - if (Z_REFCOUNTED_P(zval_ptr) || Z_IMMUTABLE_P(zval_ptr)) { - if (Z_COPYABLE_P(zval_ptr) || Z_IMMUTABLE_P(zval_ptr)) { - _zval_copy_ctor_func(zval_ptr ZEND_FILE_LINE_RELAY_CC); + if (Z_REFCOUNTED_P(zvalue) || Z_IMMUTABLE_P(zvalue)) { + if (Z_COPYABLE_P(zvalue) || Z_IMMUTABLE_P(zvalue)) { + _zval_copy_ctor_func(zvalue ZEND_FILE_LINE_RELAY_CC); } else { - Z_ADDREF_P(zval_ptr); + Z_ADDREF_P(zvalue); } } } -static zend_always_inline void _zval_opt_copy_ctor(zval *zval_ptr ZEND_FILE_LINE_DC) +static zend_always_inline void _zval_opt_copy_ctor(zval *zvalue ZEND_FILE_LINE_DC) { - if (Z_OPT_REFCOUNTED_P(zval_ptr) || Z_OPT_IMMUTABLE_P(zval_ptr)) { - if (Z_OPT_COPYABLE_P(zval_ptr) || Z_OPT_IMMUTABLE_P(zval_ptr)) { - _zval_copy_ctor_func(zval_ptr ZEND_FILE_LINE_RELAY_CC); + if (Z_OPT_REFCOUNTED_P(zvalue) || Z_OPT_IMMUTABLE_P(zvalue)) { + if (Z_OPT_COPYABLE_P(zvalue) || Z_OPT_IMMUTABLE_P(zvalue)) { + _zval_copy_ctor_func(zvalue ZEND_FILE_LINE_RELAY_CC); } else { - Z_ADDREF_P(zval_ptr); + Z_ADDREF_P(zvalue); } } } -static zend_always_inline void _zval_copy_ctor_no_imm(zval *zval_ptr ZEND_FILE_LINE_DC) +static zend_always_inline void _zval_copy_ctor_no_imm(zval *zvalue ZEND_FILE_LINE_DC) { - if (Z_REFCOUNTED_P(zval_ptr)) { - if (Z_COPYABLE_P(zval_ptr)) { - _zval_copy_ctor_func(zval_ptr ZEND_FILE_LINE_RELAY_CC); + if (Z_REFCOUNTED_P(zvalue)) { + if (Z_COPYABLE_P(zvalue)) { + _zval_copy_ctor_func(zvalue ZEND_FILE_LINE_RELAY_CC); } else { - Z_ADDREF_P(zval_ptr); + Z_ADDREF_P(zvalue); } } } -static zend_always_inline void _zval_opt_copy_ctor_no_imm(zval *zval_ptr ZEND_FILE_LINE_DC) +static zend_always_inline void _zval_opt_copy_ctor_no_imm(zval *zvalue ZEND_FILE_LINE_DC) { - if (Z_OPT_REFCOUNTED_P(zval_ptr)) { - if (Z_OPT_COPYABLE_P(zval_ptr)) { - _zval_copy_ctor_func(zval_ptr ZEND_FILE_LINE_RELAY_CC); + if (Z_OPT_REFCOUNTED_P(zvalue)) { + if (Z_OPT_COPYABLE_P(zvalue)) { + _zval_copy_ctor_func(zvalue ZEND_FILE_LINE_RELAY_CC); } else { - Z_ADDREF_P(zval_ptr); + Z_ADDREF_P(zvalue); } } } ZEND_API size_t zend_print_variable(zval *var); ZEND_API void _zval_ptr_dtor(zval *zval_ptr ZEND_FILE_LINE_DC); -ZEND_API void _zval_internal_dtor_for_ptr(zval *zval_ptr ZEND_FILE_LINE_DC); -ZEND_API void _zval_internal_dtor(zval *zval_ptr ZEND_FILE_LINE_DC); -ZEND_API void _zval_internal_ptr_dtor(zval *zval_ptr ZEND_FILE_LINE_DC); -ZEND_API void _zval_dtor_wrapper(zval *zval_ptr); -#define zval_copy_ctor(zval_ptr) _zval_copy_ctor((zval_ptr) ZEND_FILE_LINE_CC) -#define zval_opt_copy_ctor(zval_ptr) _zval_opt_copy_ctor((zval_ptr) ZEND_FILE_LINE_CC) -#define zval_copy_ctor_no_imm(zval_ptr) _zval_copy_ctor_no_imm((zval_ptr) ZEND_FILE_LINE_CC) -#define zval_opt_copy_ctor_no_imm(zval_ptr) _zval_opt_copy_ctor_no_imm((zval_ptr) ZEND_FILE_LINE_CC) -#define zval_ptr_dtor_nogc(zval_ptr) _zval_ptr_dtor_nogc((zval_ptr) ZEND_FILE_LINE_CC) +ZEND_API void _zval_internal_dtor_for_ptr(zval *zvalue ZEND_FILE_LINE_DC); +ZEND_API void _zval_internal_dtor(zval *zvalue ZEND_FILE_LINE_DC); +ZEND_API void _zval_internal_ptr_dtor(zval *zvalue ZEND_FILE_LINE_DC); +ZEND_API void _zval_dtor_wrapper(zval *zvalue); +#define zval_copy_ctor(zvalue) _zval_copy_ctor((zvalue) ZEND_FILE_LINE_CC) +#define zval_opt_copy_ctor(zvalue) _zval_opt_copy_ctor((zvalue) ZEND_FILE_LINE_CC) +#define zval_copy_ctor_no_imm(zvalue) _zval_copy_ctor_no_imm((zvalue) ZEND_FILE_LINE_CC) +#define zval_opt_copy_ctor_no_imm(zvalue) _zval_opt_copy_ctor_no_imm((zvalue) ZEND_FILE_LINE_CC) +#define zval_dtor(zvalue) _zval_dtor((zvalue) ZEND_FILE_LINE_CC) #define zval_ptr_dtor(zval_ptr) _zval_ptr_dtor((zval_ptr) ZEND_FILE_LINE_CC) -#define zval_internal_dtor(zval_ptr) _zval_internal_dtor((zval_ptr) ZEND_FILE_LINE_CC) -#define zval_internal_ptr_dtor(zval_ptr) _zval_internal_ptr_dtor((zval_ptr) ZEND_FILE_LINE_CC) +#define zval_ptr_dtor_nogc(zval_ptr) _zval_ptr_dtor_nogc((zval_ptr) ZEND_FILE_LINE_CC) +#define zval_internal_dtor(zvalue) _zval_internal_dtor((zvalue) ZEND_FILE_LINE_CC) +#define zval_internal_ptr_dtor(zvalue) _zval_internal_ptr_dtor((zvalue) ZEND_FILE_LINE_CC) #define zval_dtor_wrapper _zval_dtor_wrapper -/* deprecated in favor of zval_ptr_dtor_nogc(); kept for avoiding too many changes */ -#define zval_dtor(zval_ptr) zval_ptr_dtor_nogc(zval_ptr) - #if ZEND_DEBUG ZEND_API void _zval_ptr_dtor_wrapper(zval *zval_ptr); -ZEND_API void _zval_internal_dtor_wrapper(zval *zval_ptr); -ZEND_API void _zval_internal_ptr_dtor_wrapper(zval *zval_ptr); +ZEND_API void _zval_internal_dtor_wrapper(zval *zvalue); +ZEND_API void _zval_internal_ptr_dtor_wrapper(zval *zvalue); #define zval_ptr_dtor_wrapper _zval_ptr_dtor_wrapper #define zval_internal_dtor_wrapper _zval_internal_dtor_wrapper #define zval_internal_ptr_dtor_wrapper _zval_internal_ptr_dtor_wrapper diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 7cec5de702..6694a183c5 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -3906,7 +3906,7 @@ ZEND_VM_HANDLER(62, ZEND_RETURN, CONST|TMP|VAR|CV, ANY) if (OP1_TYPE & (IS_VAR|IS_TMP_VAR)) { if (Z_REFCOUNTED_P(free_op1) && !Z_DELREF_P(free_op1)) { SAVE_OPLINE(); - zval_dtor_func(Z_COUNTED_P(free_op1)); + zval_dtor_func_for_ptr(Z_COUNTED_P(free_op1)); } } } else { @@ -4457,7 +4457,7 @@ ZEND_VM_C_LABEL(send_again): ZEND_VM_C_GOTO(unpack_iter_dtor); } - zval_ptr_dtor_nogc(&key); + zval_dtor(&key); } if (ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) { @@ -5396,7 +5396,7 @@ ZEND_VM_HANDLER(74, ZEND_UNSET_VAR, CONST|TMPVAR|CV, UNUSED, VAR_FETCH|ISSET) if (!--GC_REFCOUNT(garbage)) { ZVAL_UNDEF(var); - zval_dtor_func(garbage); + zval_dtor_func_for_ptr(garbage); } else { zval *z = var; ZVAL_DEREF(z); @@ -7624,7 +7624,7 @@ ZEND_VM_C_LABEL(check_indirect): } if (refcnt == 0) { SAVE_OPLINE(); - zval_dtor_func(Z_COUNTED_P(variable_ptr)); + zval_dtor_func_for_ptr(Z_COUNTED_P(variable_ptr)); if (UNEXPECTED(EG(exception))) { ZVAL_NULL(variable_ptr); HANDLE_EXCEPTION(); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 63da2a3890..0911a61806 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1309,7 +1309,7 @@ send_again: goto unpack_iter_dtor; } - zval_ptr_dtor_nogc(&key); + zval_dtor(&key); } if (ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) { @@ -2813,7 +2813,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_CONST_HANDLER(ZEND if (IS_CONST & (IS_VAR|IS_TMP_VAR)) { if (Z_REFCOUNTED_P(free_op1) && !Z_DELREF_P(free_op1)) { SAVE_OPLINE(); - zval_dtor_func(Z_COUNTED_P(free_op1)); + zval_dtor_func_for_ptr(Z_COUNTED_P(free_op1)); } } } else { @@ -7521,7 +7521,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_CONST_UNUSED_HA if (!--GC_REFCOUNT(garbage)) { ZVAL_UNDEF(var); - zval_dtor_func(garbage); + zval_dtor_func_for_ptr(garbage); } else { zval *z = var; ZVAL_DEREF(z); @@ -11917,7 +11917,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_TMP_HANDLER(ZEND_O if (IS_TMP_VAR & (IS_VAR|IS_TMP_VAR)) { if (Z_REFCOUNTED_P(free_op1) && !Z_DELREF_P(free_op1)) { SAVE_OPLINE(); - zval_dtor_func(Z_COUNTED_P(free_op1)); + zval_dtor_func_for_ptr(Z_COUNTED_P(free_op1)); } } } else { @@ -14984,7 +14984,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_SPEC_VAR_RETVAL_UNUSED ZVAL_COPY(EX_VAR(opline->result.var), var_ptr); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -15024,7 +15024,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_SPEC_VAR_RETVAL_USED_H ZVAL_COPY(EX_VAR(opline->result.var), var_ptr); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -15064,7 +15064,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_DEC_SPEC_VAR_RETVAL_UNUSED ZVAL_COPY(EX_VAR(opline->result.var), var_ptr); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -15104,7 +15104,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_DEC_SPEC_VAR_RETVAL_USED_H ZVAL_COPY(EX_VAR(opline->result.var), var_ptr); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -15137,7 +15137,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_POST_INC_SPEC_VAR_HANDLER(ZEND increment_function(var_ptr); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -15170,7 +15170,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_POST_DEC_SPEC_VAR_HANDLER(ZEND decrement_function(var_ptr); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -15193,7 +15193,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_VAR_HANDLER(ZEND_O if (IS_VAR & (IS_VAR|IS_TMP_VAR)) { if (Z_REFCOUNTED_P(free_op1) && !Z_DELREF_P(free_op1)) { SAVE_OPLINE(); - zval_dtor_func(Z_COUNTED_P(free_op1)); + zval_dtor_func_for_ptr(Z_COUNTED_P(free_op1)); } } } else { @@ -15279,7 +15279,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_BY_REF_SPEC_VAR_HANDLER if (EX(return_value)) { ZVAL_NEW_REF(EX(return_value), retval_ptr); } else { - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } break; } @@ -15291,7 +15291,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_BY_REF_SPEC_VAR_HANDLER ZVAL_REF(EX(return_value), Z_REF_P(retval_ptr)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } while (0); ZEND_VM_TAIL_CALL(zend_leave_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)); @@ -15479,7 +15479,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_REF_SPEC_VAR_HANDLER(ZEND ZVAL_REF(varptr, Z_REF_P(arg)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE(); } @@ -15942,7 +15942,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_VAR_HANDLER(Z p = fe_ht->arData; while (1) { if (UNEXPECTED(pos >= fe_ht->nNumUsed)) { - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; Z_FE_ITER_P(EX_VAR(opline->result.var)) = (uint32_t)-1; ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2)); } @@ -15956,7 +15956,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_VAR_HANDLER(Z } Z_FE_ITER_P(EX_VAR(opline->result.var)) = zend_hash_iterator_add(fe_ht, pos); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } else if (IS_VAR != IS_CONST && EXPECTED(Z_TYPE_P(array_ptr) == IS_OBJECT)) { if (!Z_OBJCE_P(array_ptr)->get_iterator) { @@ -15975,7 +15975,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_VAR_HANDLER(Z p = fe_ht->arData; while (1) { if (UNEXPECTED(pos >= fe_ht->nNumUsed)) { - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; Z_FE_ITER_P(EX_VAR(opline->result.var)) = (uint32_t)-1; ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2)); } @@ -15991,7 +15991,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_VAR_HANDLER(Z } Z_FE_ITER_P(EX_VAR(opline->result.var)) = zend_hash_iterator_add(fe_ht, pos); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } else { zend_class_entry *ce = Z_OBJCE_P(array_ptr); @@ -16000,7 +16000,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_VAR_HANDLER(Z if (UNEXPECTED(!iter) || UNEXPECTED(EG(exception))) { if (IS_VAR == IS_VAR) { - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } else { zval_ptr_dtor_nogc(free_op1); } @@ -16017,7 +16017,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_VAR_HANDLER(Z if (UNEXPECTED(EG(exception) != NULL)) { OBJ_RELEASE(&iter->std); if (IS_VAR == IS_VAR) { - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } else { zval_ptr_dtor_nogc(free_op1); } @@ -16030,7 +16030,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_VAR_HANDLER(Z if (UNEXPECTED(EG(exception) != NULL)) { OBJ_RELEASE(&iter->std); if (IS_VAR == IS_VAR) { - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } else { zval_ptr_dtor_nogc(free_op1); } @@ -16042,7 +16042,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_VAR_HANDLER(Z Z_FE_ITER_P(EX_VAR(opline->result.var)) = (uint32_t)-1; if (IS_VAR == IS_VAR) { - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } else { zval_ptr_dtor_nogc(free_op1); } @@ -16057,7 +16057,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_VAR_HANDLER(Z ZVAL_UNDEF(EX_VAR(opline->result.var)); Z_FE_ITER_P(EX_VAR(opline->result.var)) = (uint32_t)-1; if (IS_VAR == IS_VAR) { - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } else { zval_ptr_dtor_nogc(free_op1); } @@ -16779,7 +16779,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_obj_helper_SP FREE_OP(free_op_data1); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -16883,7 +16883,7 @@ assign_dim_op_ret_null: } FREE_OP(free_op_data1); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -16913,7 +16913,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_V } } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -17221,7 +17221,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE } } while (0); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -17294,7 +17294,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP } } while (0); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -17322,7 +17322,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_W_SPEC_VAR_CONST_HAN if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -17340,7 +17340,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_RW_SPEC_VAR_CONST_HA if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -17365,7 +17365,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_CO EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } else { if (IS_CONST == IS_UNUSED) { zend_throw_error(NULL, "Cannot use [] for reading"); @@ -17395,7 +17395,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_UNSET_SPEC_VAR_CONST if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -17493,7 +17493,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_W_SPEC_VAR_CONST_HAN if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -17518,7 +17518,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_RW_SPEC_VAR_CONST_HA if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -17544,7 +17544,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_CO if ((IS_VAR & (IS_CONST|IS_TMP_VAR))) { zend_throw_error(NULL, "Cannot use temporary expression in write context"); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } zend_fetch_property_address(EX_VAR(opline->result.var), container, IS_VAR, property, IS_CONST, ((IS_CONST == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), BP_VAR_W); @@ -17552,7 +17552,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_CO if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } else { ZEND_VM_TAIL_CALL(ZEND_FETCH_OBJ_R_SPEC_VAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)); @@ -17581,7 +17581,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_UNSET_SPEC_VAR_CONST if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -17751,7 +17751,7 @@ fast_assign_obj: } exit_assign_obj: - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -17922,7 +17922,7 @@ fast_assign_obj: } exit_assign_obj: - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -18093,7 +18093,7 @@ fast_assign_obj: } exit_assign_obj: - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -18264,7 +18264,7 @@ fast_assign_obj: } exit_assign_obj: - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -18338,7 +18338,7 @@ try_assign_dim_array: if (IS_CONST == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = EX_CONSTANT(opline->op2); @@ -18370,7 +18370,7 @@ assign_dim_error: if (IS_CONST != IS_UNUSED) { } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -18444,7 +18444,7 @@ try_assign_dim_array: if (IS_CONST == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var)); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = EX_CONSTANT(opline->op2); @@ -18476,7 +18476,7 @@ assign_dim_error: if (IS_CONST != IS_UNUSED) { } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -18550,7 +18550,7 @@ try_assign_dim_array: if (IS_CONST == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var)); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = EX_CONSTANT(opline->op2); @@ -18582,7 +18582,7 @@ assign_dim_error: if (IS_CONST != IS_UNUSED) { } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -18656,7 +18656,7 @@ try_assign_dim_array: if (IS_CONST == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = EX_CONSTANT(opline->op2); @@ -18688,7 +18688,7 @@ assign_dim_error: if (IS_CONST != IS_UNUSED) { } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -18714,7 +18714,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_CONST_RETVAL_U if (UNEXPECTED(0)) { ZVAL_COPY(EX_VAR(opline->result.var), value); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* zend_assign_to_variable() always takes care of op2, never free it! */ } @@ -18742,7 +18742,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_CONST_RETVAL_U if (UNEXPECTED(1)) { ZVAL_COPY(EX_VAR(opline->result.var), value); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* zend_assign_to_variable() always takes care of op2, never free it! */ } @@ -19000,7 +19000,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_CON expr_ptr = _get_zval_ptr_ptr_var(opline->op1.var, execute_data, &free_op1); ZVAL_MAKE_REF(expr_ptr); Z_ADDREF_P(expr_ptr); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } else { expr_ptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1); if (IS_VAR == IS_TMP_VAR) { @@ -19205,7 +19205,7 @@ num_index_dim: } } while (0); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -19243,7 +19243,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_OBJ_SPEC_VAR_CONST_HANDL } } while (0); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -19301,7 +19301,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_SPEC_VAR_CONST_HANDLER(Z } ZVAL_COPY(&generator->value, value_ptr); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } } else { zval *value = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1); @@ -19440,7 +19440,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_TMP_RETVAL_UNU if (UNEXPECTED(0)) { ZVAL_COPY(EX_VAR(opline->result.var), value); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* zend_assign_to_variable() always takes care of op2, never free it! */ } @@ -19468,7 +19468,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_TMP_RETVAL_USE if (UNEXPECTED(1)) { ZVAL_COPY(EX_VAR(opline->result.var), value); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* zend_assign_to_variable() always takes care of op2, never free it! */ } @@ -19529,7 +19529,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_SPEC_VAR_TMP_HANDLER(ZEN } ZVAL_COPY(&generator->value, value_ptr); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } } else { zval *value = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1); @@ -19668,7 +19668,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_VAR_RETVAL_UNU if (UNEXPECTED(0)) { ZVAL_COPY(EX_VAR(opline->result.var), value); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* zend_assign_to_variable() always takes care of op2, never free it! */ } @@ -19696,7 +19696,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_VAR_RETVAL_USE if (UNEXPECTED(1)) { ZVAL_COPY(EX_VAR(opline->result.var), value); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* zend_assign_to_variable() always takes care of op2, never free it! */ } @@ -19720,7 +19720,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_VAR_VAR_HANDLE UNEXPECTED(!Z_ISERROR_P(EX_VAR(opline->op1.var)))) { zend_throw_error(NULL, "Cannot assign by reference to overloaded object"); - if (UNEXPECTED(free_op2)) { zval_ptr_dtor_nogc(free_op2); }; + if (UNEXPECTED(free_op2)) {zval_ptr_dtor_nogc(free_op2);}; HANDLE_EXCEPTION(); } else if (IS_VAR == IS_VAR && @@ -19728,7 +19728,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_VAR_VAR_HANDLE UNEXPECTED(!Z_ISREF_P(value_ptr))) { zend_error(E_NOTICE, "Only variables should be assigned by reference"); if (UNEXPECTED(EG(exception) != NULL)) { - if (UNEXPECTED(free_op2)) { zval_ptr_dtor_nogc(free_op2); }; + if (UNEXPECTED(free_op2)) {zval_ptr_dtor_nogc(free_op2);}; HANDLE_EXCEPTION(); } @@ -19751,10 +19751,10 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_VAR_VAR_HANDLE ZVAL_COPY(EX_VAR(opline->result.var), variable_ptr); } - if (UNEXPECTED(free_op2)) { zval_ptr_dtor_nogc(free_op2); }; + if (UNEXPECTED(free_op2)) {zval_ptr_dtor_nogc(free_op2);}; } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -19812,7 +19812,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_SPEC_VAR_VAR_HANDLER(ZEN } ZVAL_COPY(&generator->value, value_ptr); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } } else { zval *value = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1); @@ -19993,7 +19993,7 @@ assign_dim_op_ret_null: } FREE_OP(free_op_data1); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -20251,7 +20251,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_W_SPEC_VAR_UNUSED_HA if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -20269,7 +20269,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_RW_SPEC_VAR_UNUSED_H if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -20294,7 +20294,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_UN EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } else { if (IS_UNUSED == IS_UNUSED) { zend_throw_error(NULL, "Cannot use [] for reading"); @@ -20379,7 +20379,7 @@ try_assign_dim_array: if (IS_UNUSED == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = NULL; @@ -20411,7 +20411,7 @@ assign_dim_error: if (IS_UNUSED != IS_UNUSED) { } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -20485,7 +20485,7 @@ try_assign_dim_array: if (IS_UNUSED == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var)); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = NULL; @@ -20517,7 +20517,7 @@ assign_dim_error: if (IS_UNUSED != IS_UNUSED) { } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -20591,7 +20591,7 @@ try_assign_dim_array: if (IS_UNUSED == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var)); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = NULL; @@ -20623,7 +20623,7 @@ assign_dim_error: if (IS_UNUSED != IS_UNUSED) { } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -20697,7 +20697,7 @@ try_assign_dim_array: if (IS_UNUSED == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = NULL; @@ -20729,7 +20729,7 @@ assign_dim_error: if (IS_UNUSED != IS_UNUSED) { } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -20959,7 +20959,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_UNU expr_ptr = _get_zval_ptr_ptr_var(opline->op1.var, execute_data, &free_op1); ZVAL_MAKE_REF(expr_ptr); Z_ADDREF_P(expr_ptr); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } else { expr_ptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1); if (IS_VAR == IS_TMP_VAR) { @@ -21141,7 +21141,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_SPEC_VAR_UNUSED_HANDLER( } ZVAL_COPY(&generator->value, value_ptr); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } } else { zval *value = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1); @@ -21317,7 +21317,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_obj_helper_SP FREE_OP(free_op_data1); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -21421,7 +21421,7 @@ assign_dim_op_ret_null: } FREE_OP(free_op_data1); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -21451,7 +21451,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_V } } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -21759,7 +21759,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE } } while (0); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -21832,7 +21832,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP } } while (0); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -21860,7 +21860,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_W_SPEC_VAR_CV_HANDLE if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -21878,7 +21878,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_RW_SPEC_VAR_CV_HANDL if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -21903,7 +21903,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_CV EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } else { if (IS_CV == IS_UNUSED) { zend_throw_error(NULL, "Cannot use [] for reading"); @@ -21933,7 +21933,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_UNSET_SPEC_VAR_CV_HA if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -22031,7 +22031,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_W_SPEC_VAR_CV_HANDLE if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -22056,7 +22056,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_RW_SPEC_VAR_CV_HANDL if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -22082,7 +22082,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_CV if ((IS_VAR & (IS_CONST|IS_TMP_VAR))) { zend_throw_error(NULL, "Cannot use temporary expression in write context"); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } zend_fetch_property_address(EX_VAR(opline->result.var), container, IS_VAR, property, IS_CV, ((IS_CV == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), BP_VAR_W); @@ -22090,7 +22090,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_CV if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } else { ZEND_VM_TAIL_CALL(ZEND_FETCH_OBJ_R_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)); @@ -22119,7 +22119,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_UNSET_SPEC_VAR_CV_HA if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -22289,7 +22289,7 @@ fast_assign_obj: } exit_assign_obj: - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -22460,7 +22460,7 @@ fast_assign_obj: } exit_assign_obj: - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -22631,7 +22631,7 @@ fast_assign_obj: } exit_assign_obj: - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -22802,7 +22802,7 @@ fast_assign_obj: } exit_assign_obj: - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -22876,7 +22876,7 @@ try_assign_dim_array: if (IS_CV == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var); @@ -22908,7 +22908,7 @@ assign_dim_error: if (IS_CV != IS_UNUSED) { } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -22982,7 +22982,7 @@ try_assign_dim_array: if (IS_CV == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var)); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var); @@ -23014,7 +23014,7 @@ assign_dim_error: if (IS_CV != IS_UNUSED) { } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -23088,7 +23088,7 @@ try_assign_dim_array: if (IS_CV == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var)); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var); @@ -23120,7 +23120,7 @@ assign_dim_error: if (IS_CV != IS_UNUSED) { } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -23194,7 +23194,7 @@ try_assign_dim_array: if (IS_CV == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op2.var); @@ -23226,7 +23226,7 @@ assign_dim_error: if (IS_CV != IS_UNUSED) { } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -23252,7 +23252,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_CV_RETVAL_UNUS if (UNEXPECTED(0)) { ZVAL_COPY(EX_VAR(opline->result.var), value); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* zend_assign_to_variable() always takes care of op2, never free it! */ } @@ -23280,7 +23280,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_SPEC_VAR_CV_RETVAL_USED if (UNEXPECTED(1)) { ZVAL_COPY(EX_VAR(opline->result.var), value); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* zend_assign_to_variable() always takes care of op2, never free it! */ } @@ -23337,7 +23337,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_VAR_CV_HANDLER } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -23511,7 +23511,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_CV_ expr_ptr = _get_zval_ptr_ptr_var(opline->op1.var, execute_data, &free_op1); ZVAL_MAKE_REF(expr_ptr); Z_ADDREF_P(expr_ptr); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } else { expr_ptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1); if (IS_VAR == IS_TMP_VAR) { @@ -23716,7 +23716,7 @@ num_index_dim: } } while (0); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -23754,7 +23754,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_OBJ_SPEC_VAR_CV_HANDLER( } } while (0); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -23812,7 +23812,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_SPEC_VAR_CV_HANDLER(ZEND } ZVAL_COPY(&generator->value, value_ptr); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } } else { zval *value = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1); @@ -23952,7 +23952,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_obj_helper_SP FREE_OP(free_op_data1); zval_ptr_dtor_nogc(free_op2); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -24057,7 +24057,7 @@ assign_dim_op_ret_null: zval_ptr_dtor_nogc(free_op2); FREE_OP(free_op_data1); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -24088,7 +24088,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_V } zval_ptr_dtor_nogc(free_op2); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -24397,7 +24397,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_pre_incdec_property_helper_SPE } while (0); zval_ptr_dtor_nogc(free_op2); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -24471,7 +24471,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_post_incdec_property_helper_SP } while (0); zval_ptr_dtor_nogc(free_op2); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -24499,7 +24499,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_W_SPEC_VAR_TMPVAR_HA if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -24517,7 +24517,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_RW_SPEC_VAR_TMPVAR_H if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -24542,7 +24542,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_TM EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } zval_ptr_dtor_nogc(free_op2); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } else { if ((IS_TMP_VAR|IS_VAR) == IS_UNUSED) { zend_throw_error(NULL, "Cannot use [] for reading"); @@ -24572,7 +24572,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_UNSET_SPEC_VAR_TMPVA if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -24671,7 +24671,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_W_SPEC_VAR_TMPVAR_HA if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -24696,7 +24696,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_RW_SPEC_VAR_TMPVAR_H if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -24722,7 +24722,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_TM if ((IS_VAR & (IS_CONST|IS_TMP_VAR))) { zend_throw_error(NULL, "Cannot use temporary expression in write context"); zval_ptr_dtor_nogc(free_op2); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } zend_fetch_property_address(EX_VAR(opline->result.var), container, IS_VAR, property, (IS_TMP_VAR|IS_VAR), (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(Z_CACHE_SLOT_P(property)) : NULL), BP_VAR_W); @@ -24730,7 +24730,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_TM if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } else { ZEND_VM_TAIL_CALL(ZEND_FETCH_OBJ_R_SPEC_VAR_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)); @@ -24759,7 +24759,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_UNSET_SPEC_VAR_TMPVA if (IS_VAR == IS_VAR && READY_TO_DESTROY(free_op1)) { EXTRACT_ZVAL_PTR(EX_VAR(opline->result.var)); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -24929,7 +24929,7 @@ fast_assign_obj: } exit_assign_obj: zval_ptr_dtor_nogc(free_op2); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -25100,7 +25100,7 @@ fast_assign_obj: } exit_assign_obj: zval_ptr_dtor_nogc(free_op2); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -25271,7 +25271,7 @@ fast_assign_obj: } exit_assign_obj: zval_ptr_dtor_nogc(free_op2); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -25442,7 +25442,7 @@ fast_assign_obj: } exit_assign_obj: zval_ptr_dtor_nogc(free_op2); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_obj has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -25516,7 +25516,7 @@ try_assign_dim_array: if ((IS_TMP_VAR|IS_VAR) == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2); @@ -25548,7 +25548,7 @@ assign_dim_error: if ((IS_TMP_VAR|IS_VAR) != IS_UNUSED) { zval_ptr_dtor_nogc(free_op2); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -25622,7 +25622,7 @@ try_assign_dim_array: if ((IS_TMP_VAR|IS_VAR) == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var)); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2); @@ -25654,7 +25654,7 @@ assign_dim_error: if ((IS_TMP_VAR|IS_VAR) != IS_UNUSED) { zval_ptr_dtor_nogc(free_op2); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -25728,7 +25728,7 @@ try_assign_dim_array: if ((IS_TMP_VAR|IS_VAR) == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var)); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2); @@ -25760,7 +25760,7 @@ assign_dim_error: if ((IS_TMP_VAR|IS_VAR) != IS_UNUSED) { zval_ptr_dtor_nogc(free_op2); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -25834,7 +25834,7 @@ try_assign_dim_array: if ((IS_TMP_VAR|IS_VAR) == IS_UNUSED) { zend_throw_error(NULL, "[] operator not supported for strings"); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; HANDLE_EXCEPTION(); } else { dim = _get_zval_ptr_var(opline->op2.var, execute_data, &free_op2); @@ -25866,7 +25866,7 @@ assign_dim_error: if ((IS_TMP_VAR|IS_VAR) != IS_UNUSED) { zval_ptr_dtor_nogc(free_op2); } - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; /* assign_dim has two opcodes! */ ZEND_VM_NEXT_OPCODE_EX(1, 2); } @@ -26041,7 +26041,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_TMP expr_ptr = _get_zval_ptr_ptr_var(opline->op1.var, execute_data, &free_op1); ZVAL_MAKE_REF(expr_ptr); Z_ADDREF_P(expr_ptr); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; } else { expr_ptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1); if (IS_VAR == IS_TMP_VAR) { @@ -26247,7 +26247,7 @@ num_index_dim: } while (0); zval_ptr_dtor_nogc(free_op2); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -26286,7 +26286,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_OBJ_SPEC_VAR_TMPVAR_HAND } while (0); zval_ptr_dtor_nogc(free_op2); - if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }; + if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -34839,7 +34839,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_CV_HANDLER(ZEND_OP if (IS_CV & (IS_VAR|IS_TMP_VAR)) { if (Z_REFCOUNTED_P(free_op1) && !Z_DELREF_P(free_op1)) { SAVE_OPLINE(); - zval_dtor_func(Z_COUNTED_P(free_op1)); + zval_dtor_func_for_ptr(Z_COUNTED_P(free_op1)); } } } else { @@ -40109,7 +40109,7 @@ check_indirect: } if (refcnt == 0) { SAVE_OPLINE(); - zval_dtor_func(Z_COUNTED_P(variable_ptr)); + zval_dtor_func_for_ptr(Z_COUNTED_P(variable_ptr)); if (UNEXPECTED(EG(exception))) { ZVAL_NULL(variable_ptr); HANDLE_EXCEPTION(); @@ -40651,7 +40651,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER UNEXPECTED(!Z_ISERROR_P(EX_VAR(opline->op1.var)))) { zend_throw_error(NULL, "Cannot assign by reference to overloaded object"); - if (UNEXPECTED(free_op2)) { zval_ptr_dtor_nogc(free_op2); }; + if (UNEXPECTED(free_op2)) {zval_ptr_dtor_nogc(free_op2);}; HANDLE_EXCEPTION(); } else if (IS_VAR == IS_VAR && @@ -40659,7 +40659,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER UNEXPECTED(!Z_ISREF_P(value_ptr))) { zend_error(E_NOTICE, "Only variables should be assigned by reference"); if (UNEXPECTED(EG(exception) != NULL)) { - if (UNEXPECTED(free_op2)) { zval_ptr_dtor_nogc(free_op2); }; + if (UNEXPECTED(free_op2)) {zval_ptr_dtor_nogc(free_op2);}; HANDLE_EXCEPTION(); } @@ -40682,7 +40682,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER ZVAL_COPY(EX_VAR(opline->result.var), variable_ptr); } - if (UNEXPECTED(free_op2)) { zval_ptr_dtor_nogc(free_op2); }; + if (UNEXPECTED(free_op2)) {zval_ptr_dtor_nogc(free_op2);}; } ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); @@ -42314,7 +42314,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_CV_UNUSED_HANDL if (!--GC_REFCOUNT(garbage)) { ZVAL_UNDEF(var); - zval_dtor_func(garbage); + zval_dtor_func_for_ptr(garbage); } else { zval *z = var; ZVAL_DEREF(z); @@ -52442,7 +52442,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_TMPVAR_UNUSED_H if (!--GC_REFCOUNT(garbage)) { ZVAL_UNDEF(var); - zval_dtor_func(garbage); + zval_dtor_func_for_ptr(garbage); } else { zval *z = var; ZVAL_DEREF(z); diff --git a/Zend/zend_vm_gen.php b/Zend/zend_vm_gen.php index 30f8f7d91f..1f4bb884d2 100644 --- a/Zend/zend_vm_gen.php +++ b/Zend/zend_vm_gen.php @@ -479,7 +479,7 @@ $op2_free_op = array( ); $op1_free_op_if_var = array( - "ANY" => "if (opline->op1_type == IS_VAR) { zval_ptr_dtor_nogc(free_op1); }", + "ANY" => "if (opline->op1_type == IS_VAR) {zval_ptr_dtor_nogc(free_op1);}", "TMP" => "", "VAR" => "zval_ptr_dtor_nogc(free_op1)", "CONST" => "", @@ -490,7 +490,7 @@ $op1_free_op_if_var = array( ); $op2_free_op_if_var = array( - "ANY" => "if (opline->op2_type == IS_VAR) { zval_ptr_dtor_nogc(free_op2); }", + "ANY" => "if (opline->op2_type == IS_VAR) {zval_ptr_dtor_nogc(free_op2);}", "TMP" => "", "VAR" => "zval_ptr_dtor_nogc(free_op2)", "CONST" => "", @@ -501,9 +501,9 @@ $op2_free_op_if_var = array( ); $op1_free_op_var_ptr = array( - "ANY" => "if (free_op1) { zval_ptr_dtor_nogc(free_op1); }", + "ANY" => "if (free_op1) {zval_ptr_dtor_nogc(free_op1);}", "TMP" => "", - "VAR" => "if (UNEXPECTED(free_op1)) { zval_ptr_dtor_nogc(free_op1); }", + "VAR" => "if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);}", "CONST" => "", "UNUSED" => "", "CV" => "", @@ -512,9 +512,9 @@ $op1_free_op_var_ptr = array( ); $op2_free_op_var_ptr = array( - "ANY" => "if (free_op2) { zval_ptr_dtor_nogc(free_op2); }", + "ANY" => "if (free_op2) {zval_ptr_dtor_nogc(free_op2);}", "TMP" => "", - "VAR" => "if (UNEXPECTED(free_op2)) { zval_ptr_dtor_nogc(free_op2); }", + "VAR" => "if (UNEXPECTED(free_op2)) {zval_ptr_dtor_nogc(free_op2);}", "CONST" => "", "UNUSED" => "", "CV" => "", diff --git a/ext/soap/php_packet_soap.c b/ext/soap/php_packet_soap.c index 81a8d18b29..c835c84dff 100644 --- a/ext/soap/php_packet_soap.c +++ b/ext/soap/php_packet_soap.c @@ -385,7 +385,7 @@ int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunction } else { zend_refcounted *garbage = Z_COUNTED_P(return_value); ZVAL_COPY(return_value, tmp); - zval_dtor_func(garbage); + _zval_dtor_func(garbage ZEND_FILE_LINE_CC); } } }