Re: [ZEND-ENGINE-CVS] cvs: Zend / zend.c zend_execute.c zend_execute.h zend_execute_API.c

From: Date: Mon, 02 Sep 2002 09:42:43 +0000
Subject: Re: [ZEND-ENGINE-CVS] cvs: Zend / zend.c zend_execute.c zend_execute.h zend_execute_API.c
References: 1  Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-378@lists.php.net to get a copy of this message
On Sat, 24 Aug 2002, Thies C. Arntzen wrote: > thies Sat Aug 24 13:51:50 2002 EDT > > Modified files: > /Zend zend.c zend_execute.c zend_execute.h zend_execute_API.c > Log: > @ - added zend_execute_internal which is called like zend_execute but for > @ internal functions. (Thies) > > # read the source, luke! > # ok as discussed with zeev on irc. > # will port to ZE2 tomorrow! This change is not in the ZendEngine2 yet, can you please merge it? (And bumb up the extensions API no. to 20020824?) regards, Derick > > > Index: Zend/zend.c > diff -u Zend/zend.c:1.147 Zend/zend.c:1.148 > --- Zend/zend.c:1.147 Wed Aug 14 20:22:37 2002 > +++ Zend/zend.c Sat Aug 24 13:51:49 2002 > @@ -417,6 +417,7 @@ > > zend_compile_file = compile_file; > zend_execute = execute; > + zend_execute_internal = NULL; /* saves one function hall if the zend_execute_internal is not > used */ > > /* set up version */ > zend_version_info = strdup(ZEND_CORE_VERSION_INFO); > Index: Zend/zend_execute.c > diff -u Zend/zend_execute.c:1.302 Zend/zend_execute.c:1.303 > --- Zend/zend_execute.c:1.302 Sat Aug 17 16:18:55 2002 > +++ Zend/zend_execute.c Sat Aug 24 13:51:49 2002 > @@ -996,6 +996,11 @@ > > #define EX(element) execute_data.element > > +ZEND_API void execute_internal(zend_execute_data *execute_data_ptr, int return_value_used > TSRMLS_DC) > +{ > + ((zend_internal_function *) > execute_data_ptr->function_state.function)->handler(execute_data_ptr->opline->extended_value, > execute_data_ptr->Ts[execute_data_ptr->opline->result.u.var].var.ptr, > execute_data_ptr->object.ptr, return_value_used TSRMLS_CC); > +} > + > ZEND_API void execute(zend_op_array *op_array TSRMLS_DC) > { > zend_execute_data execute_data; > @@ -1588,7 +1593,13 @@ > if (EX(function_state).function->type==ZEND_INTERNAL_FUNCTION) { > ALLOC_ZVAL(EX(Ts)[EX(opline)->result.u.var].var.ptr); > INIT_ZVAL(*(EX(Ts)[EX(opline)->result.u.var].var.ptr)); > - ((zend_internal_function *) > EX(function_state).function)->handler(EX(opline)->extended_value, > EX(Ts)[EX(opline)->result.u.var].var.ptr, EX(object).ptr, return_value_used TSRMLS_CC); > + > + if (! zend_execute_internal) { > + /* saves one function hall if the zend_execute_internal is not used */ > + ((zend_internal_function *) > EX(function_state).function)->handler(EX(opline)->extended_value, > EX(Ts)[EX(opline)->result.u.var].var.ptr, EX(object).ptr, return_value_used TSRMLS_CC); > + } else { > + zend_execute_internal(&execute_data, return_value_used TSRMLS_CC); > + } > EG(execute_data_ptr) = &execute_data; > if (EX(object).ptr) { > EX(object).ptr->refcount--; > Index: Zend/zend_execute.h > diff -u Zend/zend_execute.h:1.44 Zend/zend_execute.h:1.45 > --- Zend/zend_execute.h:1.44 Mon May 20 03:16:43 2002 > +++ Zend/zend_execute.h Sat Aug 24 13:51:50 2002 > @@ -29,10 +29,12 @@ > > BEGIN_EXTERN_C() > ZEND_API extern void (*zend_execute)(zend_op_array *op_array TSRMLS_DC); > +ZEND_API extern void (*zend_execute_internal)(zend_execute_data *execute_data_ptr, int > return_value_used TSRMLS_DC); > > void init_executor(TSRMLS_D); > void shutdown_executor(TSRMLS_D); > ZEND_API void execute(zend_op_array *op_array TSRMLS_DC); > +ZEND_API void execute_internal(zend_execute_data *execute_data_ptr, int return_value_used > TSRMLS_DC); > ZEND_API int zend_is_true(zval *op); > static inline void safe_free_zval_ptr(zval *p) > { > Index: Zend/zend_execute_API.c > diff -u Zend/zend_execute_API.c:1.143 Zend/zend_execute_API.c:1.144 > --- Zend/zend_execute_API.c:1.143 Sat Apr 27 12:20:59 2002 > +++ Zend/zend_execute_API.c Sat Aug 24 13:51:50 2002 > @@ -34,6 +34,8 @@ > > > ZEND_API void (*zend_execute)(zend_op_array *op_array TSRMLS_DC); > +ZEND_API void (*zend_execute_internal)(zend_execute_data *execute_data_ptr, int > return_value_used TSRMLS_DC); > + > > #ifdef ZEND_WIN32 > #include <process.h> > > > > -- > Zend Engine CVS Mailing List (http://cvs.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > Derick Rethans --------------------------------------------------------------------- PHP: Scripting the Web - www.php.net - derick@php.net SRM: Script Running Machine - www.vl-srm.net --------------------------------------------------------------------- JDI Media Solutions - www.jdimedia.nl - d.rethans@jdimedia.nl Helhoek 30 - 6923 PE Groessen - The Netherlands ---------------------------------------------------------------------

« previous php.zend-engine.cvs (#378) next »