From: Andi Gutmans Date: Fri, 28 Jan 2000 22:23:28 +0000 (+0000) Subject: - Make loop a bit faster. X-Git-Tag: BEFORE_SAPIFICATION_FEB_10_2000~161 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=336bf35a2c89d70c7c3d3b1d37b032a06c183972;p=php - Make loop a bit faster. --- diff --git a/Zend/zend-parser.y b/Zend/zend-parser.y index aa20f4d5ba..64427152e0 100644 --- a/Zend/zend-parser.y +++ b/Zend/zend-parser.y @@ -137,6 +137,10 @@ %% /* Rules */ +start: + top_statement_list { do_return(NULL, 0 CLS_CC); } +; + top_statement_list: top_statement_list { do_extended_info(CLS_C); } top_statement { HANDLE_INTERACTIVE(); } | /* empty */ diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 87fe4886d0..8a77e7bda7 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -733,6 +733,7 @@ void do_begin_function_declaration(znode *function_token, znode *function_name, void do_end_function_declaration(znode *function_token CLS_DC) { + do_return(NULL, 0 CLS_CC); pass_two(CG(active_op_array)); CG(active_op_array) = function_token->u.op_array; diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 6efb47b7f9..29d259fe62 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -952,7 +952,9 @@ typedef struct _object_info { void execute(zend_op_array *op_array ELS_DC) { zend_op *opline = op_array->opcodes; +#if SUPPORT_INTERACTIVE zend_op *end = op_array->opcodes + op_array->last; +#endif zend_function_state function_state; zend_function *fbc=NULL; /* Function Being Called */ object_info object = {NULL}; @@ -993,7 +995,11 @@ void execute(zend_op_array *op_array ELS_DC) } } +#if SUPPORT_INTERACTIVE while (oplineopcode) { case ZEND_ADD: EG(binary_op) = add_function; @@ -2276,6 +2282,8 @@ send_by_ref: } #if SUPPORT_INTERACTIVE op_array->last_executed_op_number = opline-op_array->opcodes; -#endif free_alloca(Ts); +#else + php_error(E_ERROR,"Arrived at end of main loop which shouldn't happen"); +#endif }