History log of /PHP-8.0/Zend/zend_vm_opcodes.h (Results 126 – 150 of 167)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 9c96fe52 12-Dec-2012 Dmitry Stogov

Restored proper generators behaviour in conjunction with "finally". (Nikita)


Revision tags: php-5.3.20RC1, php-5.4.10RC1
# 70f83f35 30-Nov-2012 Dmitry Stogov

. The VM stacks for passing function arguments and syntaticaly nested calls were merged into a single stack. The stack size needed for op_array execution is calculated at compile time and preallocate

. The VM stacks for passing function arguments and syntaticaly nested calls were merged into a single stack. The stack size needed for op_array execution is calculated at compile time and preallocated at once. As result all the stack push operatins don't require checks for stack overflow any more.
. Generators implementation was improved using the new VM stack. Now it's a bit more clear and faster.

show more ...


# eb4825b5 22-Nov-2012 Dmitry Stogov

Improved "finally" im[plementation


Revision tags: php-5.3.19, php-5.4.9, php-5.5.0alpha1, php-5.3.19RC1, php-5.4.9RC1, php-5.3.18, php-5.4.8, php-5.3.18RC1, php-5.4.8RC1, php-5.3.17, php-5.4.7, php-5.4.7RC1
# bd70d155 25-Aug-2012 Nikita Popov

Remove implementation stubs for yield delegation

I decided to leave out yield delegation for an initial proposal, so remove
the stubs for it too.


# 68c1e1cf 24-Aug-2012 Nikita Popov

Add dedicated opcode for returns from a generator

Generators don't have a return value, so it doesn't make sense to have
a shared implementation here.


Revision tags: php-5.3.16, php-5.4.6
# 80d5ae3c 13-Aug-2012 Xinchen Hui

Implemented 'finally' keywords for php

RFC: https://wiki.php.net/rfc/finally
FR: https://bugs.php.net/bug.php?id=32100
and I have got some improvment ideas(performance), will impleme

Implemented 'finally' keywords for php

RFC: https://wiki.php.net/rfc/finally
FR: https://bugs.php.net/bug.php?id=32100
and I have got some improvment ideas(performance), will implemented
later. thanks

show more ...


Revision tags: php-5.4.6RC1
# c9709bfb 19-Jul-2012 Nikita Popov

Remove asterix modifier (*) for generators

Generators are now automatically detected by the presence of a `yield`
expression in their body.

This removes the ZEND_SUSPEND_AND_RET

Remove asterix modifier (*) for generators

Generators are now automatically detected by the presence of a `yield`
expression in their body.

This removes the ZEND_SUSPEND_AND_RETURN_GENERATOR opcode. Instead
additional checks for ZEND_ACC_GENERATOR are added to the fcall_common
helper and zend_call_function.

This also adds a new function zend_generator_create_zval, which handles
the actual creation of the generator zval from an op array.

I feel like I should deglobalize the zend_create_execute_data_from_op_array
code a bit. It currently changes EG(current_execute_data) and
EG(opline_ptr) which is somewhat confusing (given the name).

show more ...


Revision tags: php-5.4.5, php-5.3.15, php-5.3.15RC1, php-5.4.5RC1, php-5.3.14, php-5.4.4
# d939d2de 11-Jun-2012 Nikita Popov

Add sceleton for yield* expression

This does not yet actually implement any delegation.


Revision tags: php-5.3.14RC2, php-5.4.4RC2
# fafce586 26-May-2012 Nikita Popov

Add YIELD opcode implementation


# 1cec3f12 19-May-2012 Nikita Popov

Add ZEND_SUSPEND_AND_RETURN_GENERATOR opcode

If the function is a generator this opcode will be invoked right after
receiving the function arguments.

The current implementation

Add ZEND_SUSPEND_AND_RETURN_GENERATOR opcode

If the function is a generator this opcode will be invoked right after
receiving the function arguments.

The current implementation is just a dummy.

show more ...


Revision tags: php-5.3.14RC1, php-5.4.4RC1, php-5.3.13, php-5.4.3, php-5.4.2, php-5.3.12, php-5.3.11, php-5.4.1, php-5.3.11RC2, php-5.4.1RC2, php-5.3.11RC1, php-5.4.1RC1, PHP-5.4.1-RC1, php-5.4.0, php-5.4.0RC8, php-5.3.10, php-5.4.0RC7, php-5.4.0RC6, php-5.3.9, php-5.4.0RC5
# e4ca0ed0 01-Jan-2012 Felipe Pena

- Year++


# 8775a375 01-Jan-2012 Felipe Pena

- Year++


# 4e198252 01-Jan-2012 Felipe Pena

- Year++


Revision tags: php-5.3.9RC4, php-5.4.0RC4, php-5.3.9RC3, php-5.4.0RC3, php-5.3.9RC2, php-5.4.0RC2, php-5.4.0RC1, php-5.3.9RC1, php-5.4.0beta2
# ea5a61e3 18-Oct-2011 Arnaud Le Blanc

Improved ternary operator performance when returning arrays


# 07b7ba8b 18-Oct-2011 Arnaud Le Blanc

Improved ternary operator performance when returning arrays


Revision tags: php-5.4.0beta1, yaf-2.1.0, php-5.3.8, php-5.3.7, php-5.3.7RC5, php-5.4.0alpha3, php-5.3.7RC4, php-5.3.7RC3, php-5.4.0alpha2
# ae40e5f4 10-Jul-2011 Felipe Pena

- Year++


# 31a69cd4 10-Jul-2011 Felipe Pena

- Year++


# 327a9d45 10-Jul-2011 Felipe Pena

- Year++


Revision tags: php-5.3.7RC2, php-5.4.0alpha1, php-5.3.7RC1, php-5.3.6
# b78ac8df 16-Mar-2011 Dmitry Stogov

Fixed bug #54262 (Crash when assigning value to a dimension in a non-array)


# 8efa208e 16-Mar-2011 Stanislav Malyshev

fix UMR when variable name is an object and __toString is used
# zend_call_function checks IS_REF on This


Revision tags: php-5.3.6RC3, php-5.3.6RC2, php-5.3.6RC1, php-5.2.17, php-5.3.5
# 927bf09c 01-Jan-2011 Felipe Pena

- Year++


# 0203cc3d 01-Jan-2011 Felipe Pena

- Year++


Revision tags: php-5.2.16, php-5.2.15, php-5.3.4, php-5.2.15RC2, php-5.3.4RC2, php-5.3.4RC1, php-5.2.15RC1, PHP_5_2_15RC1
# 2188f26c 25-Aug-2010 Dmitry Stogov

Fixed bug #52614 (Memory leak when writing on uninitialized variable returned from method call)


Revision tags: oci8-1.4.3, php-5.2.14, php-5.3.3, php-5.3.3RC3, php-5.2.14RC3, php-5.3.3RC2, php-5.2.14RC2, php-5.3.3RC1, php-5.2.14RC1
# cd6415f1 22-Apr-2010 Stefan Marr

Implemented Traits for PHP as proposed in the RFC [TRAITS]

# RFC http://wiki.php.net/rfc/horizontalreuse#traits_-_reuse_of_behavior
# Ok, here we go, I guess that will result in more dis

Implemented Traits for PHP as proposed in the RFC [TRAITS]

# RFC http://wiki.php.net/rfc/horizontalreuse#traits_-_reuse_of_behavior
# Ok, here we go, I guess that will result in more discussion, which is fine
# by me. But now, the patch is here, and properly archived.
#
# See below a list of notes to the patch, it also includes a list of
# points which should be fixed
#
# Internals of the Traits Patch
# -----------------------------
#
# Open TODOs
# """"""""""
#
# - Reflection API
# - support for traits for internal classes
# - currently destroy_zend_class does not handle that case
#
# Introduced Structures
# """""""""""""""""""""
#
# Data structures to encode the composition information specified in the
# source:
# - zend_trait_method_reference
# - zend_trait_precedence
# - zend_trait_alias
#
# Changes
# """""""
#
# zend_class_entry
# - uses NULL terminated lists of pointers for
# - trait_aliases
# - trait_precedences
# - do you prefer an explicit counter?
# - the information is only necessary during class composition
# but might be interesting for reflection
# - did not want to blow up class further with not really necessary length counters
#
# added keywords
# - trait
# - insteadof
#
# Added opcodes
# ZEND_ADD_TRAIT
# - similar to ZEND_ADD_INTERFACE
# - adds the trait to the list of traits of a class, no actual composition done
# ZEND_BIND_TRAITS
# - emitted in zend_do_end_class_declaration
# - concludes the class definition and will initiate the trait composition
# when the class definition is encountered during runtime
#
# Added Flags
# ZEND_ACC_TRAIT = 0x120
# ZEND_ACC_IMPLEMENT_TRAITS = 0x400000
# ZEND_FETCH_CLASS_TRAIT = 14
#
# zend_vm_execute.h
# - not sure whether the handler initialization (ZEND_ADD_TRAIT_SPEC_HANDLER,
# ZEND_BIND_TRAITS_SPEC_HANDLER) is correct, maybe it should be more selective
#
# zend_compile.c
# - refactored do_inherit_method_check
# split into do_inherit_method_check and do_inheritance_check_on_method
# - added helper functions use a '_' as prefix and are not mentioned in the
# headers
# - _copy_functions
# prepare hash-maps of functions which should be merged into a class
# here the aliases are handled
# - _merge_functions
# builds a hash-table of the methods which need to be added to a class
# does the conflict detection
# - reused php_runkit_function_copy_ctor
# - it is not identical with the original code anymore, needed to update it
# think I fixed some bugs, not sure whether all have been reported back to runkit
# - has to be renamed, left the name for the moment, to make its origin obvious
# - here might be optimization potential
# - not sure whether everything needs to be copied
# - copying the literals might be broken
# - added it since the literals array is freed by efree and gave problems
# with doubled frees
# - all immutable parts of the zend_op array should not be copied
# - am not sure which parts are immutable
# - and not sure how to avoid doubled frees on the same arrays on shutdown
# - _merge_functions_to_class
# does the final merging with the target class to handle inherited
# and overridden methods
# - small helper for NULL terminated lists
# zend_init_list, zend_add_to_list
#
# zend_language_parser.y
# - reused class definition for traits
# - there should be something with regard to properties
# - if they get explicitly defined, it might be worthwhile to
# check that there are no collisions with other traits in a composition
# (however, I would not introduce elaborate language features to control that
# but a notice for such conflicts might be nice to the developers)

show more ...


# fb9d95e5 22-Apr-2010 Dmitry Stogov

ZEND_RETURN is splitted into two new instructions ZEND_RETURN and ZEND_RETURN_BY_REF


1234567