Nikita Popov
ee3d28ed33
Fix compile_args semantics
2014-08-16 22:29:15 +02:00
Nikita Popov
38a173916c
Fix merge
2014-08-16 22:08:02 +02:00
Nikita Popov
71675a4bf8
Merge remote-tracking branch 'php-src/phpng' into ast
...
Conflicts:
Zend/zend_ast.c
Zend/zend_compile.c
Zend/zend_language_parser.y
Incomplete merge!
2014-08-16 21:55:08 +02:00
Nikita Popov
9cfbf333b0
Fix list() = string refcounting
2014-08-15 22:36:22 +02:00
Nikita Popov
471f13b75e
Fix s&r mistake
2014-08-15 17:27:57 +02:00
Nikita Popov
c4460dd162
Restore old evaluation order
...
${a()}[b()][c()] = d() will now evaluate in order a, b, c, d.
2014-08-15 17:10:06 +02:00
Dmitry Stogov
ce1af1e47b
Fixed bug #67725 (now we create immutable arrays only in SHM)
2014-08-05 15:38:43 +04:00
Dmitry Stogov
7301994c28
Merge branch 'master' into phpng
...
* master: (46 commits)
PHP_INT_MIN and _MAX tests
NEWS and UPGRADING
Added PHP_INT_MIN
Fix wrong lenght size
Bug #51096 - Remove unnecessary ? for first/last day of
Moved streams related functions to xp_ssl.c
Remove duplicate NEWS
Update NEWS
Update NEWS
Update NEWS
BFN
BFN
Fixed bug #67715 (php-milter does not build and crashes randomly).
We need to turn off any strict mode here for this warning to show up
Disable restrictions regarding arrays in constants at run-time. For the discussion around it, see the thread on the mailing list: http://www.mail-archive.com/internals@lists.php.net/msg68245.html
Revert "Fix bug #67064 in a BC safe way"
Updated NEWS for #67693
Updated NEWS for #67693
Fixed bug #67693 - incorrect push to the empty array
add missing entry to NEWS
...
Conflicts:
Zend/tests/errmsg_040.phpt
Zend/tests/ns_059.phpt
Zend/zend_language_parser.y
Zend/zend_vm_def.h
ext/openssl/openssl.c
ext/reflection/php_reflection.c
ext/session/session.c
ext/spl/spl_directory.c
ext/spl/spl_iterators.c
ext/sqlite3/sqlite3.c
ext/standard/array.c
2014-08-04 13:56:27 +04:00
Dmitry Stogov
f693cf8e66
EA must be initialized
2014-07-31 10:50:27 +04:00
Nikita Popov
6cf89612db
Support doc comments for propreties
2014-07-30 19:12:48 +02:00
Nikita Popov
8e9a840a53
Mark some small functions as inline
2014-07-30 18:27:41 +02:00
Nikita Popov
0cd9cffb51
Rename _tmp_compile_const_expr
...
Also remove recursive immutization of arrays there, because this
is already handled when the array is created.
2014-07-30 17:44:43 +02:00
Nikita Popov
044e48d0b1
Weaker recursion during pre-evaluation
2014-07-30 17:29:59 +02:00
Nikita Popov
3630f03f8f
Immutable arrays for the recursive case as well
2014-07-30 13:43:04 +02:00
Nikita Popov
8cab06f09b
Immutablize constant leaf arrays
...
Still haven't entirely figured out how to elegantly handle the
recursive variant.
2014-07-29 23:31:49 +02:00
Nikita Popov
6a13a22f9d
Fix segfault when class name evaluates to IS_CONST
2014-07-29 23:17:54 +02:00
Nikita Popov
763eb13d6e
Formatting
2014-07-29 21:00:19 +02:00
Nikita Popov
438b1e3d42
build_runtime_definition_key returns zend_string*
2014-07-29 20:01:11 +02:00
Nikita Popov
18f0680779
Change current_namespace to a zend_string*
2014-07-28 22:38:26 +02:00
Nikita Popov
047a994830
For filenames a pointer comparison is sufficient
2014-07-28 22:30:24 +02:00
Nikita Popov
e9fb72c8ea
Rename to zend_str_equals_literal and turn into a macro
...
So we can make of sizeof rather than strlen
2014-07-28 22:20:43 +02:00
Nikita Popov
c8d3b5909e
zend_str_equals_str(_ci)
2014-07-28 22:16:24 +02:00
Nikita Popov
8c724c205d
Use zend_str_equals more often
2014-07-28 22:07:11 +02:00
Nikita Popov
7889050685
Add zend_ prefix for emit_op(_tmp)
2014-07-28 22:03:16 +02:00
Nikita Popov
cf7f0c412d
zend_ast_create determined child count automatically
2014-07-28 18:18:47 +02:00
Nikita Popov
39d480e471
Remove zend_ast_create_unary etc
2014-07-28 17:59:12 +02:00
Nikita Popov
4c05bec536
Remove some unused compiler globals
2014-07-28 15:52:18 +02:00
Nikita Popov
31a886c346
More dead code
2014-07-28 15:43:39 +02:00
Nikita Popov
55f53e29a0
zend_get_class_fetch_type works on zend_string
2014-07-28 15:39:43 +02:00
Nikita Popov
50aefcf075
Remove duplicate code
2014-07-28 15:29:56 +02:00
Nikita Popov
2306655214
We don't pay per newline...
2014-07-28 15:26:30 +02:00
Nikita Popov
38c4125c2e
Cleanup dead/duplicate code
2014-07-28 15:23:00 +02:00
Nikita Popov
a2925df653
Use zend_ast_get_str where possible
2014-07-28 15:16:35 +02:00
Nikita Popov
1d79fb308b
Add zend_ast_list* variant to parser stack element
2014-07-28 15:10:58 +02:00
Nikita Popov
187ff135f2
zend_do_op_data -> zend_emit_op_data
2014-07-28 12:55:37 +02:00
Nikita Popov
d3cb239305
Use separate node type for lists
...
This saves storing the children count for normal ast nodes.
2014-07-28 12:06:57 +02:00
Nikita Popov
21eb6807c9
Store lineno for zval ast nodes more efficiently
2014-07-27 13:25:32 +02:00
Nikita Popov
d0943edf49
Remove last EA usages
...
Still retaining the EA field in znode as it is used by opcache
2014-07-27 12:49:26 +02:00
Nikita Popov
bea85f58bb
Use more specific parser stack nodes
2014-07-27 12:46:54 +02:00
Nikita Popov
1ea9a2d934
Cleanup member modifier code
2014-07-27 12:19:01 +02:00
Nikita Popov
df42793cd2
Create namespace_name via AST
2014-07-26 21:53:50 +02:00
Nikita Popov
c07907121e
zend_do_return -> zend_emit_final_return
2014-07-26 21:32:48 +02:00
Nikita Popov
4ca4b423be
Make lexer return AST nodes
2014-07-26 21:22:54 +02:00
Nikita Popov
9344a95ac9
Remove dead code
2014-07-26 18:51:28 +02:00
Nikita Popov
17234d7895
Replicate old linenos for class binding
2014-07-26 18:36:57 +02:00
Nikita Popov
1bdc433259
Fix bugs
2014-07-26 18:23:46 +02:00
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
1644bf01da
Resolve futher interning issues
...
Not sure if this is the right way to do it ...
2014-07-24 21:35:57 +02:00
Nikita Popov
c777427c08
Fix interning bug
2014-07-24 21:07:37 +02:00