Nikita Popov
4d8c59f0da
Fix parse_method_params
2014-05-06 21:56:01 +02:00
Nikita Popov
ccc2c8ae16
Fix error message in parse_method_params
2014-05-06 20:32:49 +02:00
Bob Weinand
f3c1881f1d
Re-added fix for bug #66015 and adapted for phpng branch
2014-05-06 14:59:03 +02:00
Xinchen Hui
bea30846bb
Refactor Zip (1 test failed)
2014-05-05 10:49:27 +08:00
Dmitry Stogov
17d027ed47
Split IS_BOOL into IS_FALSE and IS_TRUE
2014-04-30 18:32:42 +04: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
5864ce8a44
Fixed compilation warnings
2014-04-22 17:46:34 +04:00
Nikita Popov
0d43a277b8
Use zval_get_string in a few more places
2014-04-21 17:55:58 +02:00
Dmitry Stogov
acd77dec81
Use alloca() for temporary allocation
2014-04-21 15:18:19 +04:00
Dmitry Stogov
7652a977a8
Use ZEND_FETCH_FOREACH_* macros to iterate over HashTables instead of zend_hash_move_forward() and family.
2014-04-18 19:18:11 +04:00
Dmitry Stogov
e96073b1e4
Moved zend_literal->cache_slot right into zval.
...
It should be accessed using Z_CACHE_SLOT() macro.
zend_literal structure is removed.
API functions that accepted pointer to zend_literal now accept pointer to zval or cache_slot directly.
Calls of such functiond that now accept cache_slot need to be changed to pass -1 instead of NULL.
2014-04-17 15:40:45 +04:00
Dmitry Stogov
f9b26bc39a
Cleanup (2-nd round)
2014-04-15 21:56:30 +04:00
Dmitry Stogov
050d7e38ad
Cleanup (1-st round)
2014-04-15 15:40:40 +04:00
Xinchen Hui
a0690ff288
Fixed zend_object_get_t in simpleXML
2014-04-15 11:05:03 +08: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
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
Nikita Popov
20f2e5986e
Fix ZTS build
...
This only makes it compile, it doesn't actually work, presumably
because interned strings are assumed in some places.
2014-04-09 23:41:16 +02:00
Dmitry Stogov
7402af380b
Fixed destruction of objects and iterators on unclean request shutdown and GC (few cases are still unfixed).
...
Now we destroy objects it two steps. At first - object properties of all objects and only then the objects their selves.
2014-04-09 01:50:15 +04:00
Dmitry Stogov
3bc8810b1e
Constant duplication optimization
...
Argument receiving optimization
2014-04-04 03:55:27 +04:00
Dmitry Stogov
58f0f2503c
Various VM optimizations
2014-04-04 02:52:53 +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
Dmitry Stogov
042c937f69
Use STR_COPY() instead of STR_DUP() where possible
2014-04-01 17:10:15 +04:00
Xinchen Hui
3647fc6fcc
Refactor session (incompleted)
2014-03-28 18:46:25 +08:00
Dmitry Stogov
ea85451b65
Refactored data structures to keep zend_object* instead of a whole zval in some places
2014-03-28 02:11:22 +04:00
Dmitry Stogov
d83d34ba6d
Cleanup
2014-03-27 14:55:52 +04:00
Dmitry Stogov
c6cba55454
Use ZVAL_DEREF() macro
2014-03-27 13:39:09 +04:00
Dmitry Stogov
54d559d893
Replaced (Z_TYPE(x) == IS_REFERENCE) with (Z_ISREF(x))
2014-03-27 11:50:45 +04:00
Dmitry Stogov
887189ca31
Refactored IS_INDIRECT usage for CV and object properties to support HashTable resizing
2014-03-26 18:07:31 +04:00
Dmitry Stogov
acc719766d
More accurate zval comparison
2014-03-19 22:43:36 +04:00
Dmitry Stogov
d708d3c596
Fixed passing arguments by reference from internal functions
2014-03-11 22:33:28 +04:00
Xinchen Hui
3da247e7a8
Forgot to remove unused codes
2014-03-07 17:41:02 +08:00
Xinchen Hui
4b3e6fc129
Refactor reference handling
2014-03-07 17:08:14 +08:00
Dmitry Stogov
81531116c1
Fixed support for references
2014-03-07 11:32:07 +04:00
Xinchen Hui
84f20dc212
Invalid free of args("+")
2014-03-05 22:19:02 +08:00
Xinchen Hui
581fa5822e
Merge branch 'refactoring2' of github.com:zendtech/php into refactoring2
...
Conflicts:
ext/standard/array.c
2014-03-05 18:02:35 +08:00
Dmitry Stogov
3733737328
Handle interned strings as non-refcounted scalars
2014-03-05 13:55:56 +04:00
Xinchen Hui
36f01f158c
Fixed NULL pointer dereference
2014-03-05 17:29:29 +08:00
Dmitry Stogov
040dea8b82
Arguments taken by internal functions using zend_parse_parameters() with "+" and "*" specifications must not be deallocated anymore.
2014-03-05 11:10:52 +04:00
Dmitry Stogov
19670c2bbc
Fixied calling object closures from internal functions
2014-03-05 01:54:21 +04:00
Xinchen Hui
ca146a6e14
Elements in array could be reference
2014-03-03 17:44:21 +08:00
Dmitry Stogov
843423716b
Fixed user stream filters
2014-02-28 23:05:22 +04:00
Xinchen Hui
0680cdb4ac
Fixed refcount handling
2014-02-28 22:47:24 +08:00
Dmitry Stogov
d0311ad28e
Fixed method argument parsing
2014-02-28 15:47:12 +04:00
Dmitry Stogov
9d1294e33d
Fixed memory leak
2014-02-28 13:29:18 +04:00
Dmitry Stogov
3ed445f749
Fixed IS_REFERENCE support
2014-02-28 12:54:38 +04:00
Dmitry Stogov
1c3ba95bb5
Refactored read_property() and read_dimension() handlers
2014-02-27 15:40:13 +04:00
Dmitry Stogov
639e4e1afa
Changes zend_is_callable() to use zend_string* instead of char*
2014-02-25 16:03:34 +04:00
Xinchen Hui
71dac3d54f
Don't add_ref in add_*_str functions
2014-02-25 15:47:24 +08:00
Dmitry Stogov
ff162410f0
Fixed traits support
2014-02-25 01:18:06 +04:00
Dmitry Stogov
844887ed56
Fixed IS_RESOURCE handling
2014-02-24 13:12:53 +04:00
Xinchen Hui
6f6573ef6a
Fixed several memory leaks
2014-02-24 15:03:35 +08:00
Dmitry Stogov
bc3fb147cf
Fixed char/zend_string mesh
2014-02-22 00:31:39 +04:00
Dmitry Stogov
d149228b69
Use better data structures (incomplete)
2014-02-21 23:51:08 +04:00
Dmitry Stogov
008a42e7c8
Fixed error messages
2014-02-21 20:53:09 +04:00
Xinchen Hui
013cc55395
Merge branch 'refactoring2' of github.com:zendtech/php into refactoring2
...
Conflicts:
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
2014-02-21 22:41:48 +08:00
Dmitry Stogov
5fa6dbba8e
Fixed class_alias()
2014-02-21 18:19:46 +04:00
Xinchen Hui
92450f9d6c
Fixed test tests/classes/__call_007.php
2014-02-21 21:47:41 +08:00
Dmitry Stogov
7e03f3712b
All zend_parse_parameters("Z") has to be replaced with zend_parse_parameters("z")
2014-02-21 17:22:02 +04:00
Xinchen Hui
2b7ca1c756
Fixed segfault due to missing REFCOUNTED check
2014-02-21 21:12:12 +08:00
Dmitry Stogov
6fbea9ce6a
Fixed exception constructor
2014-02-21 16:14:42 +04:00
Dmitry Stogov
8bae1daa0c
Use better data structures (incomplete)
2014-02-19 14:35:28 +04:00
Dmitry Stogov
5de7115679
Use better data structures (incomplete; able to run bench.php)
2014-02-18 16:27:38 +04:00
Sara Golemon
837af67271
Merge branch 'PHP-5.6'
...
* PHP-5.6:
Add __debugInfo() magic method
2014-02-17 19:37:55 -08:00
Sara Golemon
1e752ce9c5
Add __debugInfo() magic method
...
class Foo {
private $val = 'Random, meaningless data';
public function count() { return 42; }
public function __debugInfo() {
return ['count' => $this->count()];
}
}
$f = new Foo;
var_dump($f);
2014-02-17 19:33:56 -08:00
Dmitry Stogov
a0fe8e5a91
Use better data structures (incomplete)
2014-02-18 01:41:23 +04:00
Dmitry Stogov
2b9b9afa7a
Use better data structures (incomplete)
2014-02-17 17:59:18 +04:00
Dmitry Stogov
0e425121b3
Use better data structures (incomplete)
2014-02-17 11:50:32 +04:00
Dmitry Stogov
17bf59f895
Use better data structures (incomplete)
2014-02-14 17:48:45 +04:00
Dmitry Stogov
686a078258
Use better data structures (incomplete)
2014-02-14 14:55:48 +04:00
Dmitry Stogov
be82a07776
Use better data structures (incomplete)
2014-02-12 18:08:11 +04:00
Dmitry Stogov
f4cfaf36e2
Use better data structures (incomplete)
2014-02-10 10:04:30 +04:00
Xinchen Hui
0f53e37494
Merge branch 'PHP-5.6'
2014-01-03 11:09:07 +08:00
Xinchen Hui
c081ce628f
Bump year
2014-01-03 11:08:10 +08:00
Xinchen Hui
a9c503bc27
Merge branch 'PHP-5.6'
2013-12-17 15:10:56 +08:00
Xinchen Hui
eeb37c40e6
Save one char compare
2013-12-17 15:09:52 +08:00
Kalle Sommer Nielsen
0fc8e6af0a
Eliminate another straight forward TSRMLS_FETCH() in zend_startup_module()
...
# For THTTPD:
# The code that uses a call to this function is for older versions of PHP anyway so its not covered
# For Zend OpCache:
# Added a new define for 5.6 and wrapped the code around that so its still compatible with older version
2013-12-12 20:30:45 +01:00
Dmitry Stogov
5d25762646
Removed unused "pHashFunction" argument in _zend_hash_init() and family (must be 99% source compatible)
2013-11-28 18:40:46 +04:00
Bob Weinand
d36cf90291
Merge branch 'const_scalar_exprs' into PHP-5.6
...
Conflicts:
Zend/zend_extensions.h
2013-11-28 13:41:42 +01:00
Dmitry Stogov
57c1335fec
Don't check argument types for internal functions without type hinting
2013-11-28 11:44:14 +04:00
krakjoe
1a1e83a5d9
export more Zend API
2013-11-20 16:24:22 +00:00
Bob Weinand
82cd3779f4
Whitespace fix
2013-11-01 16:49:23 +01:00
Bob Weinand
b45043a1b7
converted several switches to ifs and made more opcache friendly
2013-11-01 16:16:58 +01:00
Bob Weinand
2361745806
Working commit for constant scalar expressions (with constants).
...
Tests will follow.
2013-10-31 08:57:12 +01: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
Dmitry Stogov
0f3977bc0f
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Fixed bug #61759 (class_alias() should accept classes with leading backslashes). (Julien)
Fixed bug #61759 (class_alias() should accept classes with leading backslashes). (Julien)
Conflicts:
NEWS
2013-08-29 11:19:02 +04:00
Dmitry Stogov
dfc6feb6e8
Fixed bug #61759 (class_alias() should accept classes with leading backslashes). (Julien)
2013-08-29 11:16:56 +04:00
Xinchen Hui
e356d790cc
Merge branch 'PHP-5.4' into PHP-5.5
2013-08-29 14:02:34 +08:00
Xinchen Hui
747daa5354
Avoid compiler warning
2013-08-29 14:02:15 +08:00
Xinchen Hui
f0cb67402f
Merge branch 'PHP-5.4' into PHP-5.5
2013-08-29 14:01:54 +08:00
Adam Harvey
72027cd084
Fix bug #65579 (Using traits with get_class_methods causes segfault).
...
Specifically, this checks if there are trait aliases defined in the class scope
before attempting to dereference the first trait alias. This handles the case
where a trait alias was used in a child trait but no aliases exist in the
concrete class.
2013-08-28 20:33:42 -07:00
Xinchen Hui
a6a3aa5d49
Merge branch 'PHP-5.4' into PHP-5.5
...
Conflicts:
Zend/zend_API.c
2013-06-24 23:49:30 +08:00
Xinchen Hui
9cf3e65391
Fixed bug (is_callable() triggers Fatal Error)
...
This bug is also exists in 5.4, and previous fix by dsp is not complete
for __callStatic stituation, see test script
2013-06-24 23:45:08 +08:00
David Soria Parra
ecd9d76250
Fix #65108 (is_callable() triggers Fatal Error)
...
We have to check if the fcall info cache contains a pointer if we
use __call, otherwise we endup in a static lookup.
2013-06-24 15:55:10 +02:00
Stanislav Malyshev
02e4d7a290
Merge branch 'pull-request/341'
...
* pull-request/341: (23 commits)
typofixes
2013-06-10 14:30:59 -07:00
Stanislav Malyshev
ac40c0b562
Merge branch 'pull-request/341'
...
* pull-request/341: (23 commits)
typofixes
2013-06-10 14:20:18 -07:00
Xinchen Hui
79925094c4
Merge branch 'PHP-5.4' into PHP-5.5
2013-03-21 21:10:32 +08:00
Xinchen Hui
7dce0194c8
Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11)
2013-03-21 21:09:30 +08:00