Re: [ZEND-ENGINE-CVS] cvs: Zend / zend.c zend_execute.c zend_execute.h zend_execute_API.c
| From: | Jani Taskinen | Date: | Mon, 02 Sep 2002 10:35:09 +0000 |
| Subject: | Re: [ZEND-ENGINE-CVS] cvs: Zend / zend.c zend_execute.c zend_execute.h zend_execute_API.c | ||
| References: | 1 2 | Groups: | php.zend-engine.cvs |
| Request: | Send a blank email to php-zend-engine-cvs+get-379@lists.php.net to get a copy of this message | ||
On Mon, 2 Sep 2002, Derick Rethans wrote:
>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?)
Umm..didn't ZE2 have any other changes? So it's API number(s) should
be different??
--Jani
>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
>---------------------------------------------------------------------
>
>
>