History log of /PHP-7.3/Zend/zend_execute_API.c (Results 201 – 225 of 852)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# c3e3c98e 25-Aug-2014 Anatol Belski

master renames phase 1


Revision tags: POST_64BIT_BRANCH_MERGE, PRE_64BIT_BRANCH_MERGE, php-5.5.16, php-5.4.32
# 26a9dc3e 18-Aug-2014 Nikita Popov

Fix bug #67858: Leak when $php_errormsg already set


# 5bb25776 16-Aug-2014 Anatol Belski

further fixes on core


# 8ee2a4a9 16-Aug-2014 Anatol Belski

first shot on merging the core fro the int64 branch


# d7f12b9b 15-Aug-2014 Xinchen Hui

Fixed initializing


Revision tags: POST_PHPNG_MERGE, PRE_PHPNG_MERGE
# 5e338836 14-Aug-2014 Keyur Govande

Fix typo from commit 32314f6b6


# 32314f6b 14-Aug-2014 Keyur Govande

Fix destruction order in zend_shutdown (bug #65463, #66036)

If Apache or a similar SAPI receives a signal during PHP processing
it calls zend_shutdown() without calling shutdown_executor

Fix destruction order in zend_shutdown (bug #65463, #66036)

If Apache or a similar SAPI receives a signal during PHP processing
it calls zend_shutdown() without calling shutdown_executor().
#65463: If a module like Gearman or Memcached is loaded,
in the unfixed version it is unloaded by zend_destroy_modules() before the
CG(CLASS_TABLE) is destructed. When CG(CLASS_TABLE) is destructed,
any pointers to methods (specifically around destruction) in the unloaded
module's .so are now dangling and the process segfaults.
#66036: Any subclasses of an internal class like ArrayObject need
to be destructed in order: subclass first and then the internal class. In the
unfixed version zend_shutdown() clears the CG(CLASS_TABLE) from the head
of the list onwards, so internal classes are destructed first and user-defined
classes last. Internal classes are alloc/deallocated with malloc/free while
user-defined classes with emalloc/efree. If there's shared data between them
then efree() could be called instead of free() leading to a seg-fault.

show more ...


Revision tags: php-5.6.0RC4, php-5.3.29, php-5.5.16RC1, php-5.4.32RC1, php-5.3.29RC1
# c201ba8f 31-Jul-2014 Dmitry Stogov

execute_data->return_value should be initialized when call internal constructors


Revision tags: php-5.6.0RC3
# 167128d8 29-Jul-2014 Andrea Faulds

Implemented Closure::apply


# 55f53e29 28-Jul-2014 Nikita Popov

zend_get_class_fetch_type works on zend_string


# edd9fcab 26-Jul-2014 Nikita Popov

Fix leaks

Must find a good way to handle constant expressions...


Revision tags: php-5.5.15, php-5.4.31
# de306e70 10-Jul-2014 Dmitry Stogov

Implement call_user_func() and call_user_func_array() using special opcodes.
In some rare cases it leads to insignificant changes in error messages.


Revision tags: php-5.4.31RC1, php-5.5.15RC1
# 21acbd5b 07-Jul-2014 Dmitry Stogov

Avoid useless check


# 5aa91be5 07-Jul-2014 Dmitry Stogov

Simplify call-frame handling


# 6bf24f4d 04-Jul-2014 Dmitry Stogov

Removed EG(active_symbol_table) and use corresponding value from EG(current_execute_data)


# c4d99ec9 02-Jul-2014 Dmitry Stogov

Removed EG(called_scope) and use corresponding value from EG(current_execute_data)


# 0a77dcd4 02-Jul-2014 Dmitry Stogov

Removed EG(in_execution). If EG(currentent_execute_data) is not NULL we are executing something.


# 63c057e3 02-Jul-2014 Dmitry Stogov

Removed EG(opline_ptr) and use corresponding value from EG(current_execute_data)


# 4b09dd69 02-Jul-2014 Dmitry Stogov

Removed EG(active_op_array) and use corresponding value from EG(current_execute_data)


# 412ad4b2 02-Jul-2014 Dmitry Stogov

Uinified call frame handling for user and internal functions.
Now EG(current_execute_data) always point to the call frame of the currently executed function.


Revision tags: php-5.6.0RC2
# b7715c7e 30-Jun-2014 Dmitry Stogov

Refactored parameter passing mechanism.

In PHP-5.6 and below each argument passed to user function was copies on VM stack twice.
Now we always have ZEND_INIT_FCALL (or simular) opcode th

Refactored parameter passing mechanism.

In PHP-5.6 and below each argument passed to user function was copies on VM stack twice.
Now we always have ZEND_INIT_FCALL (or simular) opcode that pushes "call frame" on top of VM stack.
"Call frame" is actually the same zend_execute_data structure.
All the following ZEND_SEND instructions push arguments on top of the stack in a way that they directly comes into corresponding CV variables of the called frame. Extra arguments are copied at the end of stack frame (after all CV and TMP variables) on function enterance.

There are two minor incompatibilities:
1) It's not allowed to decalre functions redefining arguments e.g. "function foo($a,$a) {}".
2) func_get_arg() and func_get args() return the current value of argument and not the original value that was sent.

show more ...


Revision tags: php-5.4.30, php-5.5.14
# bbc508de 23-Jun-2014 Dmitry Stogov

Fixed string deallocation and code cleanup


Revision tags: php-5.6.0RC1
# bd10db27 16-Jun-2014 Dmitry Stogov

Use new zend_hash iteration API


Revision tags: php-5.5.14RC1
# 14e6ee7f 11-Jun-2014 Dmitry Stogov

Use absolute addresses as branch targets for NEW, FE_RESET and FE_FETCH


Revision tags: php-5.4.30RC1
# e8699d75 10-Jun-2014 Xinchen Hui

Remove unused included file


12345678910>>...35