History log of /php-src/Zend/zend_closures.c (Results 176 – 200 of 337)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 97a9470d 02-Jan-2016 Xinchen Hui

bump year which is missed in rev 49493a2

# 65e456f3 29-Dec-2015 Nikita Popov

Introduce BIND_LEXICAL

This opcodes inserts a local CV into the closure static variable
table. This replaces the previous mechanism of having static
variables marked as LEXICAL, whic

Introduce BIND_LEXICAL

This opcodes inserts a local CV into the closure static variable
table. This replaces the previous mechanism of having static
variables marked as LEXICAL, which perform a symtable lookup
during copying.

This means a) functions which contain closures no longer have to
rebuild their symtable (better performance) and b) we can now track
used variables in SSA.

show more ...

Revision tags: php-7.0.2RC1, php-5.6.17RC1, php-7.0.1RC1, php-7.0.0
# 8907da99 27-Nov-2015 Andrea Faulds

Set called_scope in Closure::call (fixes bug #70987)

Revision tags: php-5.6.16, php-7.0.0RC8, php-7.0.0RC7, php-5.6.16RC1, php-5.6.15, php-7.0.0RC6, php-7.0.1, php-5.6.15RC1, php-7.0.0RC5
# 23b372d3 09-Oct-2015 Dmitry Stogov

Forbid "fake" closure rebinding

# 4b821f0f 10-Oct-2015 Nikita Popov

Normalize rebinding failures

Move all rebinding checks into one function to make sure they stay
in sync. Normalize return value to be NULL for all rebinding
failures, instead of retu

Normalize rebinding failures

Move all rebinding checks into one function to make sure they stay
in sync. Normalize return value to be NULL for all rebinding
failures, instead of returning an improperly bound closure in some
cases.

show more ...

# d677b25b 09-Oct-2015 Nikita Popov

Merge branch 'PHP-5.6' into PHP-7.0


# e19423f3 09-Oct-2015 Nikita Popov

Improve previous fix

Don't forbid null binding on plain functions.

# f6ae19f1 09-Oct-2015 Nikita Popov

Merge branch 'PHP-5.6' into PHP-7.0


# bbae7ddf 09-Oct-2015 Nikita Popov

Fixed bug #70681

# 0847681b 09-Oct-2015 Dmitry Stogov

Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction->getClosure())

# 93748bf9 08-Oct-2015 Dmitry Stogov

Fixed infinity recurion if we create closure on top of other closure.

# 05bd331c 08-Oct-2015 Dmitry Stogov

Fixed use after free

# 91fb3a7b 08-Oct-2015 Dmitry Stogov

Fixed bug #70674 (ReflectionFunction::getClosure() leaks memory when used for internal functions)

# e0b3b3c7 06-Oct-2015 Dmitry Stogov

Revert "Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction->getClosure())"

This reverts commit 517b5536259ecf7697f353f4bfbafde857fc1f81.

# e193d35c 06-Oct-2015 Dmitry Stogov

Revert "Improve 517b55362 (scope rebinding on method Closures)"

This reverts commit 881c50252066132f83e190325e344f532be19033.

# 524d00e0 06-Oct-2015 Dmitry Stogov

Revert "Allow random $this on non-internal Closures again"

This reverts commit 35d0405c4790f0ce668c9e1b8b05197e55d29a05.

# 35d0405c 05-Oct-2015 Bob Weinand

Allow random $this on non-internal Closures again
As it turns out, there is actually no reason to prevent this, it even was a bigger BC break than expected...

Also fixes a memory leak (t

Allow random $this on non-internal Closures again
As it turns out, there is actually no reason to prevent this, it even was a bigger BC break than expected...

Also fixes a memory leak (the Closure leaks) when calling internal functions via Closure by moving it out of leave helper onto caller side for TOP_CODE:

$z = new SplStack; $z->push(20);
$x = (new ReflectionMethod("SplStack", "pop"))->getClosure($z);
var_dump($x());

show more ...

# 881c5025 04-Oct-2015 Bob Weinand

Improve 517b55362 (scope rebinding on method Closures)
Now it is completely impossible to rebind a scoped method Closure (only the kind you get from ReflectionMethod::getClosure()) to a foreign s

Improve 517b55362 (scope rebinding on method Closures)
Now it is completely impossible to rebind a scoped method Closure (only the kind you get from ReflectionMethod::getClosure()) to a foreign scope
Adding a lot of tests to ensure this...
Also, properly return NULL in case the Closure could not be created instead of some crippled unbound Closure

show more ...

# 517b5536 03-Oct-2015 Bob Weinand

Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction->getClosure())
This additionally removes support for binding to an unknown (not in parent hierarchy) scope.
Removing suppo

Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction->getClosure())
This additionally removes support for binding to an unknown (not in parent hierarchy) scope.
Removing support for cross-scope is necessary for certain compile-time assumptions (like class constants) to prevent unexpected results

show more ...

Revision tags: php-5.5.30, php-5.6.14, php-7.0.0RC4
# e878dff5 19-Sep-2015 Bob Weinand

Revert accidentally committed closures.c and execute.c

# 08e253cd 19-Sep-2015 Bob Weinand

Optimize zend_mm_small_size_to_bin()
It removes a cmov operation and has a much faster branch for small allocations (especially when handling strings) (<= 64 bytes)

Revision tags: php-5.6.14RC1, php-7.0.0RC3, php-5.6.13, php-7.0.0RC2, php-5.5.29, php-5.4.45
# 50d6fd6a 01-Sep-2015 Bob Weinand

Fixed bug #70397 (Segmentation fault when using Closure::call and yield)

Revision tags: php-5.6.13RC1
# 71af54e5 19-Aug-2015 Dmitry Stogov

Mark error and exception functions as "cold" (Matt's idea)

Revision tags: php-7.0.0RC1, php-5.6.12, php-5.5.28, php-7.0.0beta3, php-5.4.44, php-5.6.12RC1, php-7.0.0beta2, php-7.0.0beta1, php-5.6.11, php-5.5.27, php-5.4.43
# 5df893ce 07-Jul-2015 Aaron Piotrowski

Use NULL where possible for exception class

Matches usage of zend_throw_exception()/zend_throw_exception_ex().

# 22c38b2e 03-Jul-2015 Aaron Piotrowski

Remove need to pass error level

12345678910>>...14