Nikita Popov
edd9fcab1e
Fix leaks
...
Must find a good way to handle constant expressions...
2014-07-26 18:08:31 +02:00
Nikita Popov
d46f67a3a7
Use arena allocator (currently leaky!)
2014-07-26 17:45:45 +02:00
Nikita Popov
d4d4b69e72
Merge branch 'phpng' into ast
...
Conflicts:
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
Some of dmitry's optimizations are not merged in yet!
2014-07-22 18:24:58 +02:00
Nikita Popov
df970e9fc2
Pre-evaluate magic constants
2014-07-21 18:02:31 +02:00
Nikita Popov
b24bda6be1
Partial port of class declarations
2014-07-21 16:34:45 +02:00
Nikita Popov
461bce5222
Prepare zend_ast_decl for reuse with classes
2014-07-21 15:38:21 +02:00
Nikita Popov
547331d24d
Port methods
...
The duplicated magic method checks are ugly
2014-07-19 12:52:44 +02:00
Nikita Popov
adbddf4e5b
Support static closures
2014-07-18 15:47:46 +02:00
Nikita Popov
405b97e8a9
Handle function doc comments
2014-07-18 15:23:16 +02:00
Nikita Popov
cdcf78f730
Fix lexer/compiler interdependency
2014-07-18 15:05:31 +02:00
Nikita Popov
359f99fe48
Use dedicated func_decl ast node
...
Functions need a bunch of extra info, that becomes inconvenient
to handle using the normal ast structure.
2014-07-18 14:57:00 +02:00
Nikita Popov
20d2a044ee
Lineno corrections
2014-07-16 23:33:22 +02:00
Nikita Popov
f589713cc4
Preliminary function decl support
...
Problem: __FUNCTION__ etc don't work anymore, due to lexer/parser
interdependency.
2014-07-16 00:07:09 +02:00
Nikita Popov
069da161cf
approx correct linenos in errors
2014-07-12 17:10:10 +02:00
Nikita Popov
8577f58e52
Store (bad) estimate of lineno with ast
...
Currently not used yet
2014-07-12 14:03:42 +02:00
Nikita Popov
80c44ad510
Support creating of ast nodes with >3 children
2014-07-10 15:18:08 +02:00
Dmitry Stogov
acfbb7b6dc
Merge branch 'master' into test
...
* master: (67 commits)
remove the NEWS entry for the reverted fpm fix
remove the NEWS entry for the reverted fpm fix
remove the NEWS entry for the reverted fpm fix
Revert "Fix Bug #67530 error_log=syslog ignored"
--enable-fpm for the travis build
fix the last fpm NEWS entry, the other bug is related, but not the same what we fixed here
NEWS
NEWS
Fix bug #67091 : make install fails to install libphp5.so on FreeBSD 10.0
adding NEWS entry for the fix for bug #65641
Updated NEWS file for recent phpdbg fixes
Fixed issue krakjoe/phpdbg#94 - List behavior is inconsistent
Fix issue krakjoe/phpdbg#97 - list now appends a newline if there is none The prompt should always ensure it is on a newline
Fixed test
Inform about back command existence in help - Fixes krakjoe/phpdbg#100 No way to list the current stack/frames
Fix issue krakjoe/phpdbg#98 break if does not seem to work
Fix issue krakjoe/phpdbg#99 register function has the same behavior as run
Fix readline/libedit (Thanks to @remicollet)
Replace incorrect `E` command with `ev` in watch help
Fix typo in `finish` help
...
Conflicts:
Zend/zend_ast.c
Zend/zend_highlight.c
Zend/zend_indent.c
ext/spl/spl_array.c
ext/spl/spl_observer.c
ext/standard/info.c
2014-07-01 00:19:41 +04:00
Nikita Popov
111ad71d38
Rename ZEND_CONST to ZEND_AST_ZVAL
2014-06-28 18:03:26 +02:00
Nikita Popov
dd60c8e0f1
Reuse expr for static_scalar
2014-06-26 22:02:54 +02:00
Nikita Popov
7f01b6fcec
Bring static scalar arrays in line
2014-06-26 13:20:39 +02:00
Nikita Popov
0237954778
Bring static scalar AST more in line with normal AST
2014-06-26 13:06:39 +02:00
Nikita Popov
1b84b87e78
Const eval unary pm (as previously)
2014-06-26 12:43:20 +02:00
Xinchen Hui
18bde665f5
Merge branch 'PHP-5.6'
2014-06-24 13:53:43 +08:00
Xinchen Hui
9d49492fd6
Fixed bug #67368 (Memory leak with immediately dereferenced array in class constant)
2014-06-24 13:53:05 +08:00
Nikita Popov
e26c6d663a
Implement constant expression folding as a separate pass
2014-06-23 21:59:14 +02:00
Nikita Popov
b6789b1dd6
zend_ast_dynamic_ast returns new node
2014-06-21 19:31:08 +02:00
Nikita Popov
657762ee2b
AST stage 2.4
2014-06-21 18:54:13 +02:00
Nikita Popov
55ab55c417
Add ability to specify additional attr in AST
2014-06-19 13:48:50 +02:00
Nikita Popov
89ecd73a04
Make ast->children a uint
...
Future optimization: only use uint for dynamic lists and use a
uchar or even an introspection function to get the child count.
2014-06-19 13:48:50 +02:00
Nikita Popov
258a733ed2
AST-based compiler: Stage 1
2014-06-14 15:22:18 +02:00
Nikita Popov
98918fe65b
Remove (&ast->u.child)[i] weirdness
2014-06-06 22:35:21 +02:00
Dmitry Stogov
0c6a6f0fba
Re-applyed Bob's patch with minor fixes
2014-05-07 15:03:56 +04:00
Dmitry Stogov
4ecc527976
Reverted Bob's patch (it breaks many tests when run with opcache and needs to be fixed first).
2014-05-07 03:26:13 +04:00
Nikita Popov
6e87a0857d
Fix ZTS build
2014-05-06 19:03:48 +02:00
Bob Weinand
f3c1881f1d
Re-added fix for bug #66015 and adapted for phpng branch
2014-05-06 14:59:03 +02:00
Dmitry Stogov
f9927a6c97
Merge mainstream 'master' branch into refactoring
...
During merge I had to revert:
Nikita's patch for php_splice() (it probably needs to be applyed again)
Bob Weinand's patches related to constant expression handling (we need to review them carefully)
I also reverted all our attempts to support sapi/phpdbg (we didn't test it anyway)
Conflicts:
Zend/zend.h
Zend/zend_API.c
Zend/zend_ast.c
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_constants.c
Zend/zend_exceptions.c
Zend/zend_execute.c
Zend/zend_execute.h
Zend/zend_execute_API.c
Zend/zend_hash.c
Zend/zend_highlight.c
Zend/zend_language_parser.y
Zend/zend_language_scanner.c
Zend/zend_language_scanner_defs.h
Zend/zend_variables.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
ext/date/php_date.c
ext/dom/documenttype.c
ext/hash/hash.c
ext/iconv/iconv.c
ext/mbstring/tests/zend_multibyte-10.phpt
ext/mbstring/tests/zend_multibyte-11.phpt
ext/mbstring/tests/zend_multibyte-12.phpt
ext/mysql/php_mysql.c
ext/mysqli/mysqli.c
ext/mysqlnd/mysqlnd_reverse_api.c
ext/mysqlnd/php_mysqlnd.c
ext/opcache/ZendAccelerator.c
ext/opcache/zend_accelerator_util_funcs.c
ext/opcache/zend_persist.c
ext/opcache/zend_persist_calc.c
ext/pcre/php_pcre.c
ext/pdo/pdo_dbh.c
ext/pdo/pdo_stmt.c
ext/pdo_pgsql/pgsql_driver.c
ext/pgsql/pgsql.c
ext/reflection/php_reflection.c
ext/session/session.c
ext/spl/spl_array.c
ext/spl/spl_observer.c
ext/standard/array.c
ext/standard/basic_functions.c
ext/standard/html.c
ext/standard/mail.c
ext/standard/php_array.h
ext/standard/proc_open.c
ext/standard/streamsfuncs.c
ext/standard/user_filters.c
ext/standard/var_unserializer.c
ext/standard/var_unserializer.re
main/php_variables.c
sapi/phpdbg/phpdbg.c
sapi/phpdbg/phpdbg_bp.c
sapi/phpdbg/phpdbg_frame.c
sapi/phpdbg/phpdbg_help.c
sapi/phpdbg/phpdbg_list.c
sapi/phpdbg/phpdbg_print.c
sapi/phpdbg/phpdbg_prompt.c
2014-04-26 00:32:51 +04:00
Dmitry Stogov
df7ca608ce
Optimized constant lookup
2014-04-25 00:56:15 +04:00
Bob Weinand
ca447a8f6f
Merge branch 'PHP-5.6'
2014-04-11 20:14:44 +02:00
Bob Weinand
096e40a027
Fixed tests for recent constant array changes
2014-04-11 20:13:24 +02:00
Bob Weinand
ccf863c8ce
Merge branch 'PHP-5.6'
2014-04-11 19:35:11 +02:00
Bob Weinand
35b895fdf0
Removed useless void* parameter and replaced with zend_bool on zval_update_constant* functions
2014-04-11 19:18:58 +02:00
Bob Weinand
38ec4d20bf
Merge branch 'PHP-5.6'
2014-04-11 18:24:41 +02:00
Bob Weinand
ee2a7c7d41
Fixed disallowal of array usage in constants at run-time
...
Added at the same time the possibility of array dereferencing
to complete the set of features (useful application of arrays in constants)
2014-04-11 18:21:46 +02:00
Bob Weinand
9663193bbc
Merge branch 'PHP-5.6'
2014-04-11 10:11:58 +02:00
Bob Weinand
f614fc6898
Fix bug #66015 by reverting "Removed operations on constant arrays."
2014-04-11 10:08:44 +02:00
Dmitry Stogov
3bc8810b1e
Constant duplication optimization
...
Argument receiving optimization
2014-04-04 03:55:27 +04:00
Dmitry Stogov
76cc99fe60
Refactored ZVAL flags usage to simplify various checks (e.g. Z_REFCOUNTED(), candidate for GC, etc)
2014-04-03 15:26:23 +04:00
Bob Weinand
75435e30ae
Merge branch 'PHP-5.6'
2014-03-07 07:41:16 +01:00
Tjerk Meesters
3d1fa4cb17
Allow T_POW in constant expressions
2014-03-07 09:14:27 +08:00
Dmitry Stogov
f4cfaf36e2
Use better data structures (incomplete)
2014-02-10 10:04:30 +04:00