#
be00b4ed |
| 03-Aug-2016 |
Xinchen Hui |
Optmized array_rand
|
#
501d24f8 |
| 03-Aug-2016 |
Xinchen Hui |
Optimized array_pad
|
#
81a7d528 |
| 02-Aug-2016 |
Xinchen Hui |
Folder marks
|
#
70f79fd8 |
| 02-Aug-2016 |
Xinchen Hui |
Optimized array_merge and cleanup
|
#
e730c8fc |
| 02-Aug-2016 |
Xinchen Hui |
Optimized array_merge
|
#
fea2042a |
| 02-Aug-2016 |
Xinchen Hui |
Optimized array_column (thanks to Benjamin Coutu)
|
#
a15902fa |
| 02-Aug-2016 |
Xinchen Hui |
fixed IS_REFERENCE handling
|
#
4d919592 |
| 01-Aug-2016 |
Xinchen Hui |
Optimized array_reverse
|
#
040331c3 |
| 30-Jul-2016 |
Kalle Sommer Nielsen |
Fix ext/standard build with the recent fixes to array.c This solution might not be canon, but it works by re-using _php_math_round() from math.c, since round() is not available in the C+
Fix ext/standard build with the recent fixes to array.c This solution might not be canon, but it works by re-using _php_math_round() from math.c, since round() is not available in the C++98 Standard Library on Windows at least. At the same time it seems like the symbol export for it was missing from php_math.h.
show more ...
|
#
11e05092 |
| 29-Jul-2016 |
Nikita Popov |
Fix memory unsafety in array_walk() Fixes bugs #61967, #62607, #69068, #70713. The primary changes are: a) Use the ht_iterator mechanism to ensure safety not only if the
Fix memory unsafety in array_walk() Fixes bugs #61967, #62607, #69068, #70713. The primary changes are: a) Use the ht_iterator mechanism to ensure safety not only if the iterated array itself changes, but also if it is replaced (and potentially destroyed) entirely. We use the same semantics for behavior under modification as foreach-by-reference. In particular, we advance to the next element before processing it. If the iterated entity is exchanged we iterate the new one from the start. If it is not an array/object we warn and abort. b) Always create a reference to the current value. Previously the code kept the value as a non-reference and updated it to the reference value produced by the user callback. However this is unsafe, as the array may have been reallocated in the meantime, so the previous value pointer is no longer value. c) Around a recursive walk, incref the reference containing the array. This ensures that the location where the currently iterated value is stored cannot be freed. One problem I was not able to solve is that we cannot decrement the apply count if the array is exchanged during a recursive walk.
show more ...
|
#
8a442a33 |
| 29-Jul-2016 |
Nikita Popov |
Fix ref handling in array_merge/replace_recursive() As usual, if the reference has rc=1 it really isn't a reference.
|
Revision tags: php-7.1.0beta1, php-5.6.24, php-7.0.9, php-5.5.38 |
|
#
3c3b8c83 |
| 20-Jul-2016 |
Xinchen Hui |
Fixed bug #72622 (array_walk + array_replace_recursive create references from nothing)
|
#
d91e2e47 |
| 18-Jul-2016 |
Nikita Popov |
Increase array_rand() rehashing treshold From 3/8 to 3/4. I was thinking in terms of nTableSize, where a requirement > 1/2 is not tenable. However, we're actually working with nNumUs
Increase array_rand() rehashing treshold From 3/8 to 3/4. I was thinking in terms of nTableSize, where a requirement > 1/2 is not tenable. However, we're actually working with nNumUsed, in which case more than 1/4 tombstones should be quite unusual.
show more ...
|
#
f5452b2b |
| 18-Jul-2016 |
Nikita Popov |
Optimize the n=1 case of array_rand()
|
#
bb1f8228 |
| 07-Jul-2016 |
Leigh |
Use zend_bitset
|
Revision tags: php-5.6.24RC1 |
|
#
06607993 |
| 06-Jul-2016 |
Leigh |
Improve array_rand distribution
|
Revision tags: php-7.1.0alpha3 |
|
#
6d6ef7aa |
| 05-Jul-2016 |
Leigh |
Alias rand to mt_rand
|
Revision tags: php-7.0.9RC1 |
|
#
eb65db08 |
| 23-Jun-2016 |
Xinchen Hui |
Use zend_sort in array_multisort (tests change is expected)
|
#
adc95c51 |
| 23-Jun-2016 |
Dmitry Stogov |
Fixed compilation warnings
|
Revision tags: php-7.1.0alpha2, php-7.0.8, php-5.6.23 |
|
#
16160386 |
| 21-Jun-2016 |
Dmitry Stogov |
Added ZEND_ATTRIBUTE_FORMAT to some middind functions. "%p" replaced by ZEND_LONG_FMT to avoid compilation warnings. Fixed most incorrect use cases of format specifiers.
|
Revision tags: php-5.5.37 |
|
#
4042f543 |
| 20-Jun-2016 |
Dmitry Stogov |
HANDLE_BLOCK/UNBLOCK_INTERRUPTIONS() protection on inter-process data is completely useless now. Historicaly, these macros were introduced as a protection from execution timeout handling, but we
HANDLE_BLOCK/UNBLOCK_INTERRUPTIONS() protection on inter-process data is completely useless now. Historicaly, these macros were introduced as a protection from execution timeout handling, but we don't need them anymore after "safe execution timeout" implementation. These macros are still useful to protect from termination during inner process data modification, because of OS signals (e.g. SIGTERM during OPcache SHM update).
show more ...
|
#
a9512af8 |
| 15-Jun-2016 |
Dmitry Stogov |
Implemented RFC: Fix inconsistent behavior of $this variable Squashed commit of the following: commit bdd3b6895c3ce3eacfcf7d4bf4feb8dfa61801fd Author: Dmitry Stogov <dmitry@zend.com>
Implemented RFC: Fix inconsistent behavior of $this variable Squashed commit of the following: commit bdd3b6895c3ce3eacfcf7d4bf4feb8dfa61801fd Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Jun 16 00:19:42 2016 +0300 Fixed GOTO VM commit 2f1d7c8b89ce821086d357cf65f629f040a85c03 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Jun 15 21:01:57 2016 +0300 Removed unused variable commit cf749c42b0b1919f70b1e7d6dcbfff76899506af Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Jun 15 19:06:16 2016 +0300 Protection from $this reassign through mb_parse_str() commit 59a9a6c83c66b666971e57f1173b33a422166efd Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Jun 15 18:14:50 2016 +0300 Added type inference rule for FETCH_THIS opcode commit 73f8d14a856f14a461430b3c7534ab2ce870cbf6 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Jun 15 18:11:18 2016 +0300 Restored PHP-7 behavior of isset($this->foo). It throws exception if not in object context. Removed useless opcode handlers. commit fa0881381e8ae97e022ae5d1ec0851c952f33c82 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue May 31 12:25:47 2016 +0300 Changed "Notice: Undefined variable: this" into "Exception: Using $this when not in object context". commit e32cc528c0f2c97963d8ec83eff0269f1f45af18 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue May 24 02:02:43 2016 +0300 Throw exception on attempt to re-assign $this through extract() and parse_str(). commit 41f1531b52113ec8a4c208aa6b9ef50f1386bb3f Author: Dmitry Stogov <dmitry@zend.com> Date: Mon May 23 22:18:36 2016 +0300 Fixed inconsistent $this behavior
show more ...
|
#
42f23eff |
| 13-Jun-2016 |
Xinchen Hui |
Value should not be a reference here
|
#
b602495e |
| 09-Jun-2016 |
Dmitry Stogov |
Optimization
|
#
bfcf3223 |
| 09-Jun-2016 |
Dmitry Stogov |
Fixed bug #72369 (array_merge() produces references in PHP7)
|