Dmitry Stogov
17bf59f895
Use better data structures (incomplete)
2014-02-14 17:48:45 +04:00
Dmitry Stogov
be82a07776
Use better data structures (incomplete)
2014-02-12 18:08:11 +04:00
Dmitry Stogov
4e66abad54
Use better data structures (incomplete) - refactored return_value handling
2014-02-12 14:29:51 +04:00
Dmitry Stogov
f4cfaf36e2
Use better data structures (incomplete)
2014-02-10 10:04:30 +04:00
Nikita Popov
89eab884d9
Merge branch 'PHP-5.6'
2014-01-18 14:44:57 +01:00
Nikita Popov
31a2ac470c
Fix argument unpacking across stack pages
...
If multiple unpacks were used (or mixed with normal arguments)
parts of the arguments could land on different stack pages. If
this occurs the arguments will now be copied to a new stack page.
The code used to do this is copied verbatim from the PHP 5.4 branch
and only modified to reduce the amount of inlined code.
2014-01-18 14:41:33 +01:00
Nikita Popov
4facc35413
Merge branch 'PHP-5.6'
2014-01-11 12:54:08 +01:00
Nikita Popov
2c47dfbaeb
Implement argument unpacking
...
RFC: https://wiki.php.net/rfc/argument_unpacking
2014-01-11 12:42:08 +01: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
Kalle Sommer Nielsen
aed4b086ac
Eliminate the TSRMLS_FETCH() calls in the ticks functions and hook
2013-12-18 09:32:26 +01:00
Kalle Sommer Nielsen
2eb9bd316d
Merge branch 'master' of https://git.php.net/push/php-src
2013-12-18 07:27:14 +01:00
Kalle Sommer Nielsen
d14670ccdb
Eliminate another TSRMLS_FETCH() in i_zend_is_true()
...
# Affected extensions have all been updated, ext/opcache and ext/zip
# both have macros for cross version compatibility
2013-12-18 07:25:05 +01:00
Xinchen Hui
b331a219be
Use memcmp here is better
2013-12-17 15:37:10 +08:00
Xinchen Hui
794a888a48
Fixed bug #65784 (Segfault with finally).
2013-12-13 00:16:08 +08:00
Nikita Popov
e2a8d7dc17
Merge branch 'PHP-5.5' into PHP-5.6
2013-11-30 13:40:17 +01:00
Nikita Popov
9589cae8cb
Fixed bug #66041 : list() fails to unpack yielded ArrayAccess object
...
Yield return values now use IS_VAR rather than IS_TMP_VAR. This
fixes the issue with list() and should also be faster as it avoids
doing a zval copy.
2013-11-30 13:08:31 +01: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
Dmitry Stogov
43e3933fa3
Removed deprecated AI_SET_PTR()s
2013-11-27 20:30:35 +04:00
Dmitry Stogov
a908afeaa5
Merge branch 'PHP-5.5' into PHP-5.6
...
* PHP-5.5:
Fixed bug #65969 (Chain assignment with T_LIST failure)
Conflicts:
NEWS
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
2013-11-27 14:56:18 +04:00
Dmitry Stogov
92b76680e9
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Fixed bug #65969 (Chain assignment with T_LIST failure)
Conflicts:
NEWS
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
2013-11-27 14:39:40 +04:00
Dmitry Stogov
16d59aa171
Fixed bug #65969 (Chain assignment with T_LIST failure)
2013-11-27 14:26:34 +04:00
Dmitry Stogov
9647c61dc1
Constant expressions refactoring
2013-11-06 22:21:07 +04: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
Dmitry Stogov
592be912c2
Merge branch 'PHP-5.5'
...
* PHP-5.5:
Use zval* instead of zval**
Conflicts:
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
2013-10-28 15:23:10 +04:00
Dmitry Stogov
2d14cc2a49
Use zval* instead of zval**
2013-10-28 14:44:07 +04:00
Nikita Popov
ff46b6f633
Merge branch 'PHP-5.5'
2013-10-04 13:15:45 +02:00
Nikita Popov
536260f2c5
Fix bug #65821 : By-ref foreach on property access of string offset segfaults
...
This removes the now unnecessary ZEND_FETCH_ADD_LOCK on the
container of a property fetch of a by-reference foreach.
2013-10-04 13:13:46 +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
bdfa03d79d
Save a TSRMLS_FETCH() for zval_ptr_dtor in executor
...
This gives me about 9% improvement on Zend/bench.php for a zts build.
2013-09-14 23:02:26 +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
Gustavo André dos Santos Lopes
d515455589
Implement phase 1 of rfc/incompat_ctx
...
Just changing the error level of the message from E_STRICT to
E_DEPRECATED. This comes one version later than the timeline
mentioned in the RFC.
Oddly, there were no tests for this ‘feature’. I added a simple
one.
2013-09-02 01:53:06 +02:00
Nikita Popov
0856714576
Always pass return_value_ptr to internal functions
...
Previous some places passed return_value_ptr only if the function
returned by reference. Now return_value_ptr is always set, even
for functions returning by-value.
This allows you to return zvals without copying their contents. For
this purpose two new macros RETVAL_ZVAL_FAST and RETURN_ZVAL_FAST
are added:
RETVAL_ZVAL_FAST(zv); /* Analog to RETVAL_ZVAL(zv, 1, 0) */
RETURN_ZVAL_FAST(zv); /* Analog to RETURN_ZVAL(zv, 1, 0) */
These macros behave similarly to the non-FAST versions with
copy=1 and dtor=0, with the difference that the FAST versions
will try return the zval without copying by utilizing return_value_ptr.
2013-08-31 13:16:41 +02:00
Xinchen Hui
b6fa0b40f7
Merge branch 'PHP-5.5'
2013-08-14 11:44:53 +08:00
Xinchen Hui
f3d18add08
Merge branch 'PHP-5.4' into PHP-5.5
2013-08-14 11:44:37 +08:00
Xinchen Hui
f4dc2240a0
Fixed #65431 (Discarded qualifiers from pointer target warnings when using --enable-dtrace) by Sixd
2013-08-14 11:42:39 +08:00
Dmitry Stogov
52dac3e8cd
Fixed bug #65382 (Segfault in closure_030.phpt)
2013-08-12 10:53:20 +04:00
Xinchen Hui
9b38673776
Merge branch 'PHP-5.5'
2013-08-06 15:39:46 +08:00
Xinchen Hui
aa042d0c35
Merge branch 'PHP-5.4' into PHP-5.5
2013-08-06 15:39:33 +08:00
Xinchen Hui
a831499b4a
Re-fix Bug #65372 (Segfault in gc_zval_possible_root when return reference fails)
...
Missed a zval_copy_ctor there
2013-08-06 15:37:20 +08:00
Xinchen Hui
78673d1bad
Merge branch 'PHP-5.5'
2013-08-02 18:39:58 +08:00
Xinchen Hui
1e942dde24
Merge branch 'PHP-5.4' into PHP-5.5
2013-08-02 18:39:18 +08:00
Xinchen Hui
ce9169e360
Fixed bug Bug #65372 (Segfault in gc_zval_possible_root when return reference fails)
2013-08-02 18:37:15 +08:00
Stanislav Malyshev
02457554a3
Merge branch 'PHP-5.5'
...
* PHP-5.5:
backward compatibility
HASH_KEY_NON_EXISTANT fix
2013-07-21 20:10:31 -07:00
Veres Lajos
4749457a49
HASH_KEY_NON_EXISTANT fix
2013-07-21 20:09:53 -07:00
Xinchen Hui
75808151e3
Merge branch 'PHP-5.5'
...
Conflicts:
Zend/zend_vm_execute.h
2013-07-14 12:01:50 +08:00
Xinchen Hui
2c4f823437
Merge branch 'PHP-5.4' into PHP-5.5
...
Conflicts:
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
2013-07-14 11:53:56 +08:00
Xinchen Hui
ebad5178c4
Fixed bug #65254 (Exception not catchable when exception thrown in autoload with a namespace).
2013-07-14 11:47:06 +08:00