From: Nikita Popov Date: Sat, 12 Jul 2014 17:10:19 +0000 (+0200) Subject: Remove dead code X-Git-Tag: POST_AST_MERGE^2~146 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b934dfe08824638c5ef43b7c4279f4796e786d24;p=php Remove dead code --- diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 74613af84e..c26ef963fd 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -2172,141 +2172,6 @@ static zend_uint zend_add_try_element(zend_uint try_op TSRMLS_DC) /* {{{ */ } /* }}} */ -static void zend_add_catch_element(zend_uint offset, zend_uint catch_op TSRMLS_DC) /* {{{ */ -{ - CG(active_op_array)->try_catch_array[offset].catch_op = catch_op; -} -/* }}} */ - -void zend_do_mark_last_catch(const znode *first_catch, const znode *last_additional_catch TSRMLS_DC) /* {{{ */ -{ - CG(active_op_array)->last--; - zend_do_if_end(TSRMLS_C); - if (last_additional_catch->u.op.opline_num == -1) { - CG(active_op_array)->opcodes[first_catch->u.op.opline_num].result.num = 1; - CG(active_op_array)->opcodes[first_catch->u.op.opline_num].extended_value = get_next_op_number(CG(active_op_array)); - } else { - CG(active_op_array)->opcodes[last_additional_catch->u.op.opline_num].result.num = 1; - CG(active_op_array)->opcodes[last_additional_catch->u.op.opline_num].extended_value = get_next_op_number(CG(active_op_array)); - } - DEC_BPC(CG(active_op_array)); -} -/* }}} */ - -void zend_do_finally(znode *finally_token TSRMLS_DC) /* {{{ */ -{ - zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); - - finally_token->u.op.opline_num = get_next_op_number(CG(active_op_array)); - /* call the the "finally" block */ - opline->opcode = ZEND_FAST_CALL; - SET_UNUSED(opline->op1); - opline->op1.opline_num = finally_token->u.op.opline_num + 1; - SET_UNUSED(opline->op2); - /* jump to code after the "finally" block, - * the actual jump address is going to be set in zend_do_end_finally() - */ - opline = get_next_op(CG(active_op_array) TSRMLS_CC); - opline->opcode = ZEND_JMP; - SET_UNUSED(opline->op1); - SET_UNUSED(opline->op2); - - CG(context).in_finally++; -} -/* }}} */ - -void zend_do_begin_catch(znode *catch_token, znode *class_name, znode *catch_var, znode *first_catch TSRMLS_DC) /* {{{ */ -{ - long catch_op_number; - zend_op *opline; - znode catch_class; - - if (class_name->op_type == IS_CONST && - ZEND_FETCH_CLASS_DEFAULT == zend_get_class_fetch_type(Z_STRVAL(class_name->u.constant), Z_STRLEN(class_name->u.constant))) { - zend_resolve_class_name_old(class_name TSRMLS_CC); - catch_class = *class_name; - } else { - zend_error_noreturn(E_COMPILE_ERROR, "Bad class name in the catch statement"); - } - - catch_op_number = get_next_op_number(CG(active_op_array)); - if (first_catch) { - first_catch->u.op.opline_num = catch_op_number; - } - - opline = get_next_op(CG(active_op_array) TSRMLS_CC); - opline->opcode = ZEND_CATCH; - opline->op1_type = IS_CONST; - opline->op1.constant = zend_add_class_name_literal(CG(active_op_array), &catch_class.u.constant TSRMLS_CC); - opline->op2_type = IS_CV; - opline->op2.var = lookup_cv(CG(active_op_array), Z_STR(catch_var->u.constant) TSRMLS_CC); - Z_STR(catch_var->u.constant) = CG(active_op_array)->vars[EX_VAR_TO_NUM(opline->op2.var)]; - opline->result.num = 0; /* 1 means it's the last catch in the block */ - - catch_token->u.op.opline_num = catch_op_number; -} -/* }}} */ - -void zend_do_end_catch(znode *catch_token TSRMLS_DC) /* {{{ */ -{ - int jmp_op_number = get_next_op_number(CG(active_op_array)); - zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC); - zend_llist *jmp_list_ptr; - - opline->opcode = ZEND_JMP; - SET_UNUSED(opline->op1); - SET_UNUSED(opline->op2); - /* save for backpatching */ - - jmp_list_ptr = zend_stack_top(&CG(bp_stack)); - zend_llist_add_element(jmp_list_ptr, &jmp_op_number); - - CG(active_op_array)->opcodes[catch_token->u.op.opline_num].extended_value = get_next_op_number(CG(active_op_array)); -} -/* }}} */ - -void zend_do_bind_catch(znode *try_token, znode *catch_token TSRMLS_DC) /* {{{ */ { - if (catch_token->op_type != IS_UNUSED) { - zend_add_catch_element(try_token->u.op.opline_num, catch_token->EA TSRMLS_CC); - } -} -/* }}} */ - -void zend_do_end_finally(znode *try_token, znode* catch_token, znode *finally_token TSRMLS_DC) /* {{{ */ -{ - if (catch_token->op_type == IS_UNUSED && finally_token->op_type == IS_UNUSED) { - zend_error_noreturn(E_COMPILE_ERROR, "Cannot use try without catch or finally"); - } - if (finally_token->op_type != IS_UNUSED) { - zend_op *opline; - - CG(active_op_array)->try_catch_array[try_token->u.op.opline_num].finally_op = finally_token->u.op.opline_num + 1; - CG(active_op_array)->try_catch_array[try_token->u.op.opline_num].finally_end = get_next_op_number(CG(active_op_array)); - CG(active_op_array)->has_finally_block = 1; - - opline = get_next_op(CG(active_op_array) TSRMLS_CC); - opline->opcode = ZEND_FAST_RET; - SET_UNUSED(opline->op1); - SET_UNUSED(opline->op2); - - CG(active_op_array)->opcodes[finally_token->u.op.opline_num].op1.opline_num = get_next_op_number(CG(active_op_array)); - - CG(context).in_finally--; - } -} -/* }}} */ - -void zend_do_throw(znode *expr TSRMLS_DC) /* {{{ */ -{ - zend_op *opline; - - opline = get_next_op(CG(active_op_array) TSRMLS_CC); - opline->opcode = ZEND_THROW; - SET_NODE(opline->op1, expr); - SET_UNUSED(opline->op2); -} -/* }}} */ - ZEND_API void function_add_ref(zend_function *function) /* {{{ */ { if (function->type == ZEND_USER_FUNCTION) { diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index 268a793ec5..885ba51a15 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -521,13 +521,6 @@ void zend_do_handle_exception(TSRMLS_D); void zend_do_begin_lambda_function_declaration(znode *result, znode *function_token, int return_reference, int is_static TSRMLS_DC); void zend_do_fetch_lexical_variable(znode *varname, zend_bool is_ref TSRMLS_DC); -void zend_do_try(znode *try_token TSRMLS_DC); -void zend_do_begin_catch(znode *try_token, znode *catch_class, znode *catch_var, znode *first_catch TSRMLS_DC); -void zend_do_bind_catch(znode *try_token, znode *catch_token TSRMLS_DC); -void zend_do_end_catch(znode *catch_token TSRMLS_DC); -void zend_do_finally(znode *finally_token TSRMLS_DC); -void zend_do_end_finally(znode *try_token, znode* catch_token, znode *finally_token TSRMLS_DC); -void zend_do_throw(znode *expr TSRMLS_DC); ZEND_API int do_bind_function(const zend_op_array *op_array, zend_op *opline, HashTable *function_table, zend_bool compile_time); ZEND_API zend_class_entry *do_bind_class(const zend_op_array *op_array, const zend_op *opline, HashTable *class_table, zend_bool compile_time TSRMLS_DC);