Dmitry Stogov
0f7f1498be
Use ZEND_THIS macro to hide implementation details in extensions code.
2018-11-15 19:54:19 +03:00
Dmitry Stogov
c6ad0b92b7
Replace getThis() by EX(This), when additional check is not necessary.
2018-11-14 02:44:25 +03:00
Dmitry Stogov
3575a2b8f9
Micro optimizations
2018-10-17 16:55:52 +03:00
Nikita Popov
1cfbb21790
Classify object handlers are required/optional
2018-10-16 20:53:59 +02:00
Dmitry Stogov
93f9ee7217
Use zend_class_entry/zend_function type names instead of _zend_class_entry/_zend_function tags.
2018-08-22 14:01:14 +03:00
Christoph M. Becker
be2447fb7c
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Add regression test for bug #68175
Fix #68175 : RegexIterator pregFlags are NULL instead of 0
2018-08-18 14:39:15 +02:00
Christoph M. Becker
41d2102c77
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Add regression test for bug #68175
Fix #68175 : RegexIterator pregFlags are NULL instead of 0
2018-08-18 14:37:48 +02:00
Tim Siebels
3257d22fea
Fix #68175 : RegexIterator pregFlags are NULL instead of 0
2018-08-18 14:33:39 +02:00
Dmitry Stogov
c42f0ba4f7
Removed useless IS_UNDEF checks
2018-07-31 12:23:46 +03:00
Peter Kokot
8d3f8ca12a
Remove unused Git attributes ident
...
The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.
In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file
contents.
This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.
2018-07-25 00:53:25 +02:00
Dmitry Stogov
7d4e18b05d
Improved user iterator implementation to reduce zend_class_entry memory consumption and avoid race condition during resolving/caching of user iterator functions of internal classes in ZTS build.
2018-07-12 14:04:14 +03:00
Dmitry Stogov
67b4c3379a
Uze ZVAL_COPY_DEREF() instead of ZVAL_DEREF() and ZVAL_COPY()
2018-07-09 12:46:46 +03:00
Dmitry Stogov
f2b4ec4bdc
Export standard object handlers, to avoid indirect access
2018-05-31 11:57:22 +03:00
Dmitry Stogov
d90c6f2443
Removed useless zval_ptr_dtor()
2018-05-29 17:58:06 +03:00
Dmitry Stogov
5eb1f92f31
Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence.
2018-05-28 16:27:12 +03:00
Gabriel Caruso
701437a948
Remove return types from some magic method in protos
...
__construct, __destruct, __wakeup does not have return types defined.
2018-03-09 12:04:46 +01:00
Christoph M. Becker
ef255c9f0f
Revert "[ci skip] Add missing return types to protos"
...
This reverts commit a2c7c46d5e
.
Since apparently there have been some mistakes in this commit, and it's
not clear yet how to solve them, we're reverting for now.
2018-02-27 17:40:03 +01:00
Gabriel Caruso
a2c7c46d5e
[ci skip] Add missing return types to protos
2018-02-24 11:45:17 +01:00
Nikita Popov
ede663f381
Convert iterator by reference errors to exceptions
...
I'm using RuntimeException in SPL, because other SPL classes that
throw this error used it. Error is used for everything else, because
that's what core does.
2018-02-19 21:58:56 +01:00
Joe
748c40867b
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fixed bug #74519 strange behavior of AppendIterator
2018-02-08 10:19:15 +01:00
Joe
ab770401e1
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fixed bug #74519 strange behavior of AppendIterator
2018-02-08 10:18:31 +01:00
CHU Zhaowei
01eafceea1
Fixed bug #74519 strange behavior of AppendIterator
2018-02-08 10:16:24 +01:00
CHU Zhaowei
495508eceb
fix #74519 strange behavior of AppendIterator
2018-02-08 10:15:09 +01:00
Christoph M. Becker
96595a232a
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Revert "Fix #75878 : RecursiveTreeIterator::setPostfix has wrong signature"
2018-01-27 13:13:06 +01:00
Christoph M. Becker
a882f95e39
Revert "Fix #75878 : RecursiveTreeIterator::setPostfix has wrong signature"
...
This reverts commit 4bd7658e1b
.
To avoid the BC break we apply the fix to master only.
2018-01-27 13:11:30 +01:00
Christoph M. Becker
ce7ef7c282
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fix #75878 : RecursiveTreeIterator::setPostfix has wrong signature
2018-01-27 12:46:10 +01:00
Christoph M. Becker
d7a02844f9
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fix #75878 : RecursiveTreeIterator::setPostfix has wrong signature
2018-01-27 12:41:15 +01:00
Christoph M. Becker
4bd7658e1b
Fix #75878 : RecursiveTreeIterator::setPostfix has wrong signature
2018-01-27 12:33:36 +01:00
Xinchen Hui
a6519d0514
year++
2018-01-02 12:57:58 +08:00
Xinchen Hui
7a7ec01a49
year++
2018-01-02 12:55:14 +08:00
Xinchen Hui
ccd4716ec7
year++
2018-01-02 12:53:31 +08:00
Dmitry Stogov
9e709e2fa0
Move constants into read-only data segment
2017-12-14 18:43:44 +03:00
Dmitry Stogov
1db8402208
Move zend_object_iterator_funcs structures into read-only data segment
2017-12-14 14:21:22 +03:00
Nikita Popov
b72b1a4e4d
Add zend_object_alloc() API
...
Using ecalloc() to create objects is expensive, because the
dynamic-size memset() is unreasonably slow. Make sure we only
zero the main object structure with known size, as the properties
are intialized separately anyway.
Technically we do not need to zero the embedded zend_object
structure either, but as long as the memset argument is constant,
a couple more bytes don't really matter.
2017-11-25 17:12:37 +01:00
Anatol Belski
20d930d8f3
Fix remaining signedness warnings
2017-11-14 17:07:09 +01:00
Anatol Belski
a5bc5aed71
Patch core for PCRE2 support
...
RFC https://wiki.php.net/rfc/pcre2-migration
2017-11-13 19:37:38 +01:00
Xinchen Hui
d56a534acc
RC manipulation cleanup 2
2017-11-02 12:13:35 +08:00
Dmitry Stogov
49ea143bbd
Encapsulate reference-counting primitives.
...
Prohibit direct update of GC_REFCOUNT(), GC_SET_REFCOUNT(), GC_ADDREF() and GC_DELREF() shoukf be instead.
Added mactros to validate reference-counting (disabled for now).
These macros are going to be used to eliminate race-condintions during reference-counting on data shared between threads.
2017-10-27 01:28:58 +03:00
Joe Watkins
f87e513557
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
fix bug #75173 incorrect behavior of AppendIterator::append in foreach loop
2017-09-12 07:08:01 +01:00
Joe Watkins
7015d22116
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
fix bug #75173 incorrect behavior of AppendIterator::append in foreach loop
2017-09-12 07:06:35 +01:00
jhdxr
3e11b7fc21
fix bug #75173 incorrect behavior of AppendIterator::append in foreach loop
2017-09-12 07:05:58 +01:00
Nikita Popov
b2824629c2
Merge branch 'PHP-7.1' into PHP-7.2
2017-09-04 21:24:32 +02:00
Nikita Popov
b689857d53
Revert "Fixed #74977 - Appending AppendIterator leads to segfault"
...
This reverts commit dbc2ffba82
.
2017-09-04 21:20:49 +02:00
Julien Pauli
4f06b62781
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Updated NEWS
Updated NEWS
Fix #75015 . Crash in SPL destructors
2017-08-01 16:02:36 +02:00
Julien Pauli
cd06b5af09
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Updated NEWS
Fix #75015 . Crash in SPL destructors
2017-08-01 16:02:00 +02:00
Julien Pauli
64e6ddc7f7
Fix #75015 . Crash in SPL destructors
2017-08-01 15:59:54 +02:00
Joe Watkins
2e8759428b
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fixed #74977 - Appending AppendIterator leads to segfault
2017-07-25 06:40:25 +01:00
andrewnester
dbc2ffba82
Fixed #74977 - Appending AppendIterator leads to segfault
2017-07-25 06:39:50 +01:00
Dmitry Stogov
f626a783b6
Avoid string duplication in preg_split()
2017-06-28 00:43:55 +03:00
Joe Watkins
2030b59829
Merge branch 'PHP-7.1'
...
* PHP-7.1:
fix bug #73471 PHP freezes with AppendIterator
2017-06-22 11:58:04 +01:00