History log of /PHP-8.1/Zend/zend_compile.h (Results 451 – 475 of 980)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
Revision tags: php-5.4.31RC1, php-5.5.15RC1
# 28926540 07-Jul-2014 Nikita Popov

Port echo

# 7ce2d59a 07-Jul-2014 Dmitry Stogov

Merge branch 'call-frame' into phpng

* call-frame:
Simplify call-frame handling
Removed EG(active_symbol_table) and use corresponding value from EG(current_execute_data)
Us

Merge branch 'call-frame' into phpng

* call-frame:
Simplify call-frame handling
Removed EG(active_symbol_table) and use corresponding value from EG(current_execute_data)
Use values from current_execute_data instead of globals where possible
Removed EG(called_scope) and use corresponding value from EG(current_execute_data)
Removed EG(in_execution). If EG(currentent_execute_data) is not NULL we are executing something.
Removed EG(opline_ptr) and use corresponding value from EG(current_execute_data)
Removed EG(active_op_array) and use corresponding value from EG(current_execute_data)
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.
Fixed cleanup of incompleytely passed parameters
Prohibited parameter redefinition
Fixed support for extra arguments in conjunction with variadiv argument. Use compile time flags to check if we call constructor and result of ZEND_NEW is used or not.
Fixed uninitialized variables
Optimization
Changed zend_execute_data layout to reduce memory overhead
Help C compilet to do the better job optimizing target code
Use fast comparison for (func->type == ZEND_USER_FUNCTION || func->type == ZEND_EVAL_CODE)
Keep extra args in the same VM stack segment (after all CV and TMP vars)
Refactoring: merge call_frame and end_execute_data into single data structure. Keep only single copy of each argument on VM stack (previously ZE kept two copies of each arguments for user functions)
Refactoring: use call_frames instead of call_slots

Conflicts:
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

show more ...


# 5aa91be5 07-Jul-2014 Dmitry Stogov

Simplify call-frame handling

# 2d4c962c 05-Jul-2014 Nikita Popov

Fix ZTS build

# 17c2d16d 04-Jul-2014 Nikita Popov

Refactor class name resolution as well

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 ...

# 3f0ee308 30-Jun-2014 Dmitry Stogov

Fixed support for extra arguments in conjunction with variadiv argument.
Use compile time flags to check if we call constructor and result of ZEND_NEW is used or not.

# fb98dd31 28-Jun-2014 Nikita Popov

Some refactoring of fn/const resolution

# 7eebe229 27-Jun-2014 Dmitry Stogov

Changed zend_execute_data layout to reduce memory overhead

# d6bd21ea 27-Jun-2014 Dmitry Stogov

Use fast comparison for (func->type == ZEND_USER_FUNCTION || func->type == ZEND_EVAL_CODE)

# 032f3359 27-Jun-2014 Dmitry Stogov

Keep extra args in the same VM stack segment (after all CV and TMP vars)

# 64dab4b9 26-Jun-2014 Nikita Popov

Drop dead code

# c6978139 26-Jun-2014 Dmitry Stogov

Refactoring: merge call_frame and end_execute_data into single data structure. Keep only single copy of each argument on VM stack (previously ZE kept two copies of each arguments for user functions)

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

Refactoring: use call_frames instead of call_slots

# e26c6d66 23-Jun-2014 Nikita Popov

Implement constant expression folding as a separate pass

# 90d36554 21-Jun-2014 Nikita Popov

Support string interpolation

# 86db3942 21-Jun-2014 Nikita Popov

Remove dead code

# 657762ee 19-Jun-2014 Nikita Popov

AST stage 2.4

# 55ab55c4 19-Jun-2014 Nikita Popov

Add ability to specify additional attr in AST

# 89ecd73a 19-Jun-2014 Nikita Popov

Make ast->children a uint

Future optimization: only use uint for dynamic lists and use a
uchar or even an introspection function to get the child count.

Revision tags: php-5.6.0RC1
# 0c81b3ea 14-Jun-2014 Nikita Popov

Remove dead code

# 0ec49bba 14-Jun-2014 Nikita Popov

AST stage 1.9

Expressions (mostly) use the AST

Revision tags: php-5.5.14RC1, php-5.4.30RC1
# 258a733e 07-Jun-2014 Nikita Popov

AST-based compiler: Stage 1

Revision tags: php-5.6.0beta4
# a8c15950 30-May-2014 Nikita Popov

LTR static member access

# 95a3a126 30-May-2014 Nikita Popov

Change precedence of $ operator

$$foo['bar'] is now interpreted as ${$foo}['bar'] rather than
${$foo['bar']}.

1...<<11121314151617181920>>...40