Xinchen Hui
257853cade
Fixed memory leak in ext/standard/tests/strings/005.php
2014-02-22 20:36:12 +08:00
Dmitry Stogov
b2e7b89041
Fix non-zero terminated strings
2014-02-21 18:14:47 +04:00
Dmitry Stogov
ca729cb4e3
Fixed __METHOD__ handling
2014-02-21 17:52:43 +04:00
Dmitry Stogov
557994d50d
Use better data structures (incomplete)
2014-02-19 01:12:05 +04:00
Dmitry Stogov
5de7115679
Use better data structures (incomplete; able to run bench.php)
2014-02-18 16:27:38 +04:00
Dmitry Stogov
a0fe8e5a91
Use better data structures (incomplete)
2014-02-18 01:41:23 +04:00
Dmitry Stogov
fc5e9bee29
It should be fixed later in some better way (added ??? marks)
2014-02-17 22:17:16 +04:00
Xinchen Hui
e7d173fc82
Fixed Memory leak
2014-02-17 23:01:25 +08:00
Dmitry Stogov
2b9b9afa7a
Use better data structures (incomplete)
2014-02-17 17:59:18 +04:00
Dmitry Stogov
f4cfaf36e2
Use better data structures (incomplete)
2014-02-10 10:04:30 +04:00
Xinchen Hui
c081ce628f
Bump year
2014-01-03 11:08:10 +08:00
Anatol Belski
e30b2aae5a
initial move on renaming files and fixing includes
2013-10-17 09:43:52 +02:00
Nikita Popov
0d7a638866
Implement variadic function syntax
...
As per RFC: https://wiki.php.net/rfc/variadics
2013-09-26 18:39:17 +02:00
Nikita Popov
96b1c2145c
Provide more macros for handling of interned strings
...
* str_erealloc behaves like erealloc for normal strings, but will
use emalloc+memcpy for interned strings.
* str_estrndup behaves like estrndup for normal strings, but will
not copy interned strings.
* str_strndup behaves like zend_strndup for normal strings, but
will not copy interned strings.
* str_efree_rel behaves like efree_rel for normal strings, but
will not free interned strings.
* str_hash will return INTERNED_HASH for interned strings and
compute it using zend_hash_func for normal strings.
2013-09-13 19:42:10 +02:00
Nikita Popov
d2950ac279
Make use of Z_*VAL and ZVAL_* in language scanner
2013-09-13 15:08:01 +02:00
Stanislav Malyshev
ac343d5c1f
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Fix bug #64936 - clean doc comment state at the beginning and end of the scan
ws fix
Conflicts:
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_language_scanner_defs.h
2013-06-16 15:29:25 -07:00
Stanislav Malyshev
2208447d42
Fix bug #64936 - clean doc comment state at the beginning and end of the scan
2013-06-16 15:22:23 -07:00
Stanislav Malyshev
ac0aa5737e
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
fix bug #64660 - yyparse can return 2, not only 1
Conflicts:
Zend/zend_language_scanner.c
2013-05-20 00:57:34 -07:00
Stanislav Malyshev
fb58e69a84
fix bug #64660 - yyparse can return 2, not only 1
2013-05-20 00:52:38 -07:00
Dmitry Stogov
6e8aa09696
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Fixed bug #64529 (Ran out of opcode space)
Conflicts:
NEWS
Zend/zend_execute_API.c
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h
2013-03-28 00:08:11 +04:00
Dmitry Stogov
85e5e60777
Fixed bug #64529 (Ran out of opcode space)
2013-03-28 00:03:40 +04:00
Xinchen Hui
a666285bc2
Happy New Year
2013-01-01 16:37:09 +08:00
Xinchen Hui
0a7395e009
Happy New Year
2013-01-01 16:28:54 +08: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
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
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
9b101ac8b3
Add T_YIELD "yield" keyword
2012-05-15 18:30:48 +02:00
Felipe Pena
45ef3c759e
Merge branch 'PHP-5.4'
...
* PHP-5.4:
- Fixed Windows build
2012-04-30 15:56:15 -03:00
Felipe Pena
79961dccab
- Fixed Windows build
2012-04-30 15:55:57 -03:00
Felipe Pena
73b6150992
Merge branch 'PHP-5.4'
...
* PHP-5.4:
- Changed last commit to use VK_ESCAPE on Windows
2012-04-30 10:31:59 -03:00
Felipe Pena
3120387617
- Changed last commit to use VK_ESCAPE on Windows
2012-04-30 10:31:49 -03:00
Felipe Pena
bbe9eec9a2
Merge branch 'PHP-5.4'
...
* PHP-5.4:
- Fixed bug #61827 (incorrect \e processing on Windows) patch by: ab@php.net
2012-04-29 19:36:10 -03:00
Felipe Pena
cc5b995c78
- Fixed bug #61827 (incorrect \e processing on Windows) patch by: ab@php.net
2012-04-29 19:35:52 -03:00
Nikita Popov
b233de098d
Fix bug #61681 : Malformed grammar
...
Generate T_STRING_VARNAME only if it actually is one. This is only the case
for "${varname}" and "${varname[offset]}" so we can just add a check for
} or [ after the LABEL.
2012-04-09 18:26:38 +02:00
Nikita Popov
4cf90e06c9
Fix lexing of nested heredoc strings in token_get_all()
...
This fixes bug #60097 .
Before two global variables CG(heredoc) and CG(heredoc_len) were used to
track the current heredoc label. In order to support nested heredoc
strings the *previous* heredoc label was assigned as the token value of
T_START_HEREDOC and the language_parser.y assigned that to CG(heredoc).
This created a dependency of the lexer on the parser. Thus the
token_get_all() function, which accesses the lexer directly without
also running the parser, was not able to tokenize nested heredoc strings
(and leaked memory). Same applies for the source-code highlighting
functions.
The new approach is to maintain a heredoc_label_stack in the lexer, which
contains all active heredoc labels.
As it is no longer required, T_START_HEREDOC and T_END_HEREDOC now don't
carry a token value anymore.
In order to make the work with zend_ptr_stack in this context more
convenient I added a new function zend_ptr_stack_top(), which retrieves the
top element of the stack (similar to zend_stack_top()).
2012-03-31 21:53:30 +02:00
Pierrick Charron
1953161b8c
Fixed bug #61225 (Lexing 0b0*+<NUM> incorectly)
2012-03-02 02:36:31 +00:00
Pierrick Charron
f7cd0588a9
Fixed bug #61225 (Lexing 0b0*+<NUM> incorectly)
2012-03-02 02:36:31 +00:00
Etienne Kneuss
c51f737994
Fix #61095 (Lexing 0x0*+<NUM> incorrectly)
2012-02-20 18:28:57 +00:00
Etienne Kneuss
eefefddc0e
Fix #61095 (Lexing 0x0*+<NUM> incorrectly)
2012-02-20 18:28:57 +00:00
Dmitry Stogov
b515bfbdfb
Improved traits implementation. Now to support __CLASS__ constant in traits php doesn't have to copy the complete compiled method, but can reuse the same code. The resolution of __CLASS__ constants in methods defined in traits are delayed till run-time. This approach also made possible to use __CLASS__ constant as default value for traits properties and method arguments.
2012-01-17 08:09:13 +00:00
Dmitry Stogov
032d140fd6
Improved traits implementation. Now to support __CLASS__ constant in traits php doesn't have to copy the complete compiled method, but can reuse the same code. The resolution of __CLASS__ constants in methods defined in traits are delayed till run-time. This approach also made possible to use __CLASS__ constant as default value for traits properties and method arguments.
2012-01-17 08:09:13 +00:00
Nuno Lopes
a542baa720
fix memory leak in compile_string when there's a parse error (used e.g. in eval or assert)
2012-01-01 22:45:58 +00:00
Nuno Lopes
8b23cae172
fix memory leak in compile_string when there's a parse error (used e.g. in eval or assert)
2012-01-01 22:45:58 +00:00
Felipe Pena
8775a37559
- Year++
2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281
- Year++
2012-01-01 13:15:04 +00:00
Felipe Pena
a89f1d3cfa
- Fixed bug #60350 (No string escape code for ESC (ascii 27), normally \e)
...
patch by: php at mickweiss dot com
2011-11-30 19:42:59 +00:00
Felipe Pena
3970865954
- Fixed bug #60350 (No string escape code for ESC (ascii 27), normally \e)
...
patch by: php at mickweiss dot com
2011-11-30 19:42:59 +00:00