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
Nikita Popov
24ca6bb928
Add call_user_func optimization
2014-07-24 20:35:18 +02:00
Nikita Popov
cec747234d
Implement call_user_func_array optimization
2014-07-24 19:22:46 +02:00
Nikita Popov
0356e07a05
Implement ZEND_DEFINED optimization
2014-07-22 23:30:57 +02:00
Nikita Popov
7892b89465
Implement ZEND_TYPE_CHECK optimization
2014-07-22 23:15:47 +02:00
Nikita Popov
2ee490ba3a
Implement ZEND_STRLEN optimization
2014-07-22 22:57:38 +02:00
Nikita Popov
f21d8bc23b
CT bind args before unpack
2014-07-22 20:41:45 +02:00
Nikita Popov
1859674061
Port ZEND_BIND_GLOBAL optimization
2014-07-22 20:24:47 +02:00