Dmitry Stogov
7625a3b3b4
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
spelling
2012-12-25 16:22:07 +04:00
Dmitry Stogov
7e2629635b
spelling
2012-12-25 16:21:25 +04:00
Dmitry Stogov
016f3c8610
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Fixed ZTS build
2012-12-25 13:39:02 +04:00
Dmitry Stogov
f0b459b7c4
Fixed ZTS build
2012-12-25 13:38:14 +04:00
Dmitry Stogov
bc0425c025
Removed deprecated fields
2012-12-25 10:47:43 +04:00
Dmitry Stogov
b8c719c068
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Traits refactoring
2012-12-25 10:33:01 +04:00
Dmitry Stogov
3f8c729e69
Traits refactoring
2012-12-25 10:23:08 +04:00
Nikita Popov
d53f1bf8ab
Fix leak when generator ignores sent value
...
When the return value of yield wasn't used it was leaked.
This is fixed by using a TMP_VAR return value instead of VAR. TMP_VARs are
automatically freed when they aren't used.
2012-12-18 21:39:02 +01:00
Dmitry Stogov
6b0b4bf8eb
An exception thrown in try or catch block is disacarded by return statement in finally block.
2012-12-13 02:48:51 +04:00
Xinchen Hui
70b65f3100
Merge branch 'PHP-5.4' into PHP-5.5
2012-12-10 20:30:39 +08:00
Xinchen Hui
3d86e6d881
Fixed bug #63726 (Memleak with static properties and internal/user classes)
...
No test scripts provided (will try to find one)
2012-12-10 20:29:51 +08:00
Dmitry Stogov
7651d64556
Optimized access to temporary and compiled VM variables
2012-12-04 10:14:39 +04:00
Dmitry Stogov
70f83f35d0
. 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.
2012-11-30 13:39:23 +04:00
Dmitry Stogov
eb4825b50b
Improved "finally" im[plementation
2012-11-22 15:17:05 +04:00
Dmitry Stogov
ba8a06fd95
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Fixed compiler reenterability
Fixed compiler reenterability
Conflicts:
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h
2012-11-14 18:03:38 +04:00
Dmitry Stogov
65585b3aa2
Fixed compiler reenterability
2012-11-14 17:45:10 +04:00
Xinchen Hui
0cce2a1e76
Merge branch 'PHP-5.4'
2012-10-23 11:35:20 +08:00
Xinchen Hui
74228c5151
Fixed bug #63305 (zend_mm_heap corrupted with traits)
2012-10-23 11:34:25 +08:00
Xinchen Hui
67611c67fa
Fixed bug #63219 (Segfault when aliasing trait method when autoloader throws excpetion)
2012-10-08 22:59:52 +08:00
Xinchen Hui
6cd6a74c5a
Merge branch 'PHP-5.4'
2012-10-08 23:00:57 +08:00
Dmitry Stogov
bceec038c8
Merge branch 'PHP-5.4'
...
* PHP-5.4:
Fixed bug #62907 (Double free when use traits)
Conflicts:
NEWS
2012-09-05 10:01:04 +04:00
Dmitry Stogov
6c0508f8d5
Fixed bug #62907 (Double free when use traits)
2012-09-05 09:58:22 +04:00
Gustavo Lopes
53351d087d
Merge branch 'generators'
...
* generators: (70 commits)
Fix typos
Fix segfault when traversing a by-ref generator twice
Make sure that exception is thrown on rewind() after closing too
Remove implementation stubs for yield delegation
Fix several issues and allow rewind only at/before first yield
Run finally if generator is closed before finishing
Finally with return now works in generators too
Add dedicated opcode for returns from a generator
Disallow serialization and unserialization
Fix zts build (typo)
Drop Generator::close() method
Forgot to add test
Support trivial finally in generators (no yield, no return)
Fix implementation of Iterator interface
Add T_YIELD in tokenizer_data.c
Throw error also for return occuring before yield
Fix throwing of exceptions within a generator
Remove reference restrictions from foreach
Require parenthesis around yield expressions
Add some more tests
...
2012-09-01 19:07:20 +02:00
Lars Strojny
6b1073a3a7
Bug #62956 : fixing private method signature validation
...
In inheritance, if both methods are private, don not enforce the same
signature.
2012-08-28 14:10:25 +02:00
Lars Strojny
f82dd2c774
Bug #62956 : fixing private method signature validation
...
In inheritance, if both methods are private, don not enforce the same
signature.
2012-08-28 14:06:18 +02:00
Nikita Popov
d60e3c6ef5
Merge remote-tracking branch 'php-src/master' into addGeneratorsSupport
...
Conflicts:
Zend/zend_language_parser.y
Zend/zend_vm_execute.skl
2012-08-26 13:03:55 +02:00
Xinchen Hui
5ebbdecfea
Fixed bug #62930 , and more tests
2012-08-26 13:05:33 +08:00
Xinchen Hui
c6a5d192c8
tabs
2012-08-26 12:27:10 +08:00
Xinchen Hui
7c60aeef85
Fixed bug #62931 & #62932
2012-08-26 11:37:05 +08:00
Nikita Popov
bd70d15588
Remove implementation stubs for yield delegation
...
I decided to leave out yield delegation for an initial proposal, so remove
the stubs for it too.
2012-08-25 19:03:23 +02:00
Xinchen Hui
35951d4be0
Support list in foreach
...
RFC: https://wiki.php.net/rfc/foreachlist
2012-08-25 22:23:57 +08:00
Nikita Popov
6517ed0215
Merge remote-tracking branch 'php-src/master' into addGeneratorsSupport
...
Conflicts:
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
2012-08-24 13:29:40 +02:00
Xinchen Hui
3ef3b80cdd
Merge branch 'PHP-5.4'
2012-08-23 16:13:57 +08:00
Xinchen Hui
87785c7d5a
tabs
2012-08-23 16:13:34 +08:00
Xinchen Hui
9b2ca07223
Merge branch 'PHP-5.4'
2012-08-23 16:07:13 +08:00
Xinchen Hui
d39aa984ad
Refix #62358 , previous has side-affect
2012-08-23 16:06:17 +08:00
Xinchen Hui
b8800d1701
Merge branch 'PHP-5.4'
2012-08-23 15:45:06 +08:00
Xinchen Hui
6d1bebfcb0
Fixed bug #62358 (Segfault when using traits a lot)
2012-08-23 15:41:49 +08:00
Xinchen Hui
60a29791e4
Fixed bug that jmp in try block jmp over finally block
...
Refactor the implemention, make codes clear
2012-08-22 18:32:03 +08:00
Xinchen Hui
703a4e390d
stash
2012-08-22 13:51:44 +08:00
Nikita Popov
1823b16fa1
Merge remote-tracking branch 'php-src/master' into addGeneratorsSupport
...
Merging master to fix Windows build
Conflicts:
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h
Zend/zend_vm_def.h
2012-08-20 13:37:53 +02:00
Stanislav Malyshev
3336e1e78c
Merge branch 'pull-request/31'
...
* pull-request/31:
Fix lexing of nested heredoc strings in token_get_all()
2012-08-19 21:43:04 -07:00
Xinchen Hui
f2a8912e61
Refactor examing of jumping out of finally block
2012-08-18 00:16:34 +08:00
Xinchen Hui
2449365238
Fixed context info in error message
2012-08-17 21:18:20 +08:00
Xinchen Hui
acd402d4e7
typo
2012-08-16 23:01:58 +08:00
Xinchen Hui
0312d0a262
Prevents goto
out of a finally block
2012-08-16 18:17:26 +08:00
Xinchen Hui
c64f4e736c
Add functions declarations, use tabs
2012-08-14 08:59:40 +08:00
Nikita Popov
f4ce364628
Merge remote-tracking branch 'php-src/master' into addGeneratorsSupport
...
This is just an intial merge. It does not yet make generators and finally
work together.
Conflicts:
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
Zend/zend_vm_execute.skl
Zend/zend_vm_opcodes.h
2012-08-13 16:54:53 +02:00
Xinchen Hui
80d5ae3cea
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
2012-08-13 21:48:39 +08:00
Nikita Popov
134089372b
Throw error also for return occuring before yield
...
Previously only an error was thrown when return occured after yield. Also
returns before the first yield would fail for by-ref generators.
Now the error message is handled in pass_two, so all returns are checked.
2012-07-22 20:11:09 +02:00