History log of /PHP-7.0/Zend/zend_compile.h (Results 251 – 275 of 686)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 3f8c729e 25-Dec-2012 Dmitry Stogov

Traits refactoring


Revision tags: php-5.3.20, php-5.4.10, php-5.5.0alpha2
# 6b0b4bf8 12-Dec-2012 Dmitry Stogov

An exception thrown in try or catch block is disacarded by return statement in finally block.


Revision tags: php-5.3.20RC1, php-5.4.10RC1
# 7651d645 04-Dec-2012 Dmitry Stogov

Optimized access to temporary and compiled VM variables


# 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
# 6c0508f8 05-Sep-2012 Dmitry Stogov

Fixed bug #62907 (Double free when use traits)


Revision tags: php-5.4.7RC1
# cec17869 27-Aug-2012 Xinchen Hui

Fixed bug #62938 (zend_do_bind_catch() used without declaration)


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


# 35951d4b 25-Aug-2012 Xinchen Hui

Support list in foreach

RFC: https://wiki.php.net/rfc/foreachlist


# 60a29791 22-Aug-2012 Xinchen Hui

Fixed bug that jmp in try block jmp over finally block

Refactor the implemention, make codes clear


# 703a4e39 22-Aug-2012 Xinchen Hui

stash


# 57e7c7bd 18-Aug-2012 Xinchen Hui

tab


# f2a8912e 17-Aug-2012 Xinchen Hui

Refactor examing of jumping out of finally block


Revision tags: php-5.3.16, php-5.4.6
# c64f4e73 14-Aug-2012 Xinchen Hui

Add functions declarations, use tabs


# 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
# 80748631 21-Jul-2012 Nikita Popov

Require parenthesis around yield expressions

If yield is used in an expression context parenthesis are now required.
This ensures that the code is unambiguos.

Yield statements c

Require parenthesis around yield expressions

If yield is used in an expression context parenthesis are now required.
This ensures that the code is unambiguos.

Yield statements can still be used without parenthesis (which should be
the most common case).

Also yield expressions without value can be used without parenthesis,
too (this should be the most common case for coroutines).

If the yield expression is used in a context where parenthesis are required
anyway, no additional parenthesis have to be inserted.

Examples:

// Statements don't need parenthesis
yield $foo;
yield $foo => $bar;

// Yield without value doesn't need parenthesis either
$data = yield;

// Parentheses don't have to be duplicated
foo(yield $bar);
if (yield $bar) { ... }

// But we have to use parentheses here
$foo = (yield $bar);

This commit also fixes an issue with by-ref passing of $foo[0] like
variables. They previously weren't properly fetched for write.

Additionally this fixes valgrind warnings which were caused by access to
uninitialized memory in zend_is_function_or_method_call().

show more ...


# 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
# bc08c2cf 30-May-2012 Nikita Popov

Add support for yielding keys

Keys are yielded using the

yield $key => $value

syntax. Currently this is implemented as a statement only and not as an
expression, be

Add support for yielding keys

Keys are yielded using the

yield $key => $value

syntax. Currently this is implemented as a statement only and not as an
expression, because conflicts arise considering nesting and use in arrays:

yield yield $a => $b;
// could be either
yield (yield $a) => $b;
// or
yield (yield $a => $b);

Once I find some way to resolve these conflicts this should be available
as an expression too.

Also the key yielding code is rather copy-and-past-y for the value yielding
code, so that should be factored out.

show more ...


# 3600914c 29-May-2012 Nikita Popov

Add support for $generator->send()

Yield now is an expression and the return value is the value passed to
$generator->send(). By default (i.e. if ->next() is called) the value is
NUL

Add support for $generator->send()

Yield now is an expression and the return value is the value passed to
$generator->send(). By default (i.e. if ->next() is called) the value is
NULL.

Unlike in Python ->send() can be run without priming the generator with a
->next() call first.

show more ...


# e14cfafc 19-May-2012 Nikita Popov

Add zend_do_suspend_if_generator calls

The execution of generator functions will be suspended right after the
arguments were RECVed. This will be done in zend_do_suspend_if_generator.


# 252f6234 19-May-2012 Nikita Popov

Add flag for generator functions

Generator functions have to specify the * (asterix) modifier after the
function keyword. If they do so the ZEND_ACC_GENERATOR flag is added to
the fn

Add flag for generator functions

Generator functions have to specify the * (asterix) modifier after the
function keyword. If they do so the ZEND_ACC_GENERATOR flag is added to
the fn_flags.

show more ...


Revision tags: php-5.3.14RC1, php-5.4.4RC1
# 0cb4849e 11-May-2012 Reeze Xia

Cleanup useless function declaration for traits


Revision tags: 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++


1...<<11121314151617181920>>...28