#
80b4c730 |
| 18-Oct-2023 |
Ilija Tovilo |
Implement diagnostic ignore macro for Clang Newer versions of Clang now also complain about -Wscript-prototypes for included headers. Closes GH-12467
|
#
345ac90e |
| 11-Oct-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Introduce Z_PARAM_FUNC_EX2 to maintain compatibility (#12419) Commit d86314939c added an additional parameter to Z_PARAM_FUNC_EX. To maintain compatibility with third-party extensions, w
Introduce Z_PARAM_FUNC_EX2 to maintain compatibility (#12419) Commit d86314939c added an additional parameter to Z_PARAM_FUNC_EX. To maintain compatibility with third-party extensions, we keep Z_PARAM_FUNC_EX as it used to be, and add Z_PARAM_FUNC_EX2 instead.
show more ...
|
#
d8631493 |
| 06-Oct-2023 |
George Peter Banyard |
Zend: Add ZPP F type check for callables that do not free trampolines As refetching it with the new FCC API does get tedious
|
#
3bc63a37 |
| 07-Oct-2023 |
Tim Düsterhus |
random: Remove RAND_RANGE_BADSCALING (#12374) This macro is no longer used within php-src since 60ace13f9c5e2828bfa1c177479039f6abbd4319, it invokes undefined behavior depending on t
random: Remove RAND_RANGE_BADSCALING (#12374) This macro is no longer used within php-src since 60ace13f9c5e2828bfa1c177479039f6abbd4319, it invokes undefined behavior depending on the input and the corresponding MT_RAND_PHP mode was deprecated in PHP 8.3. Thus remove this macro. Any remaining non-php-src user should just inline it into their code, but should ideally migrate to a non-biased scaler. In any case the undefined behavior of the original implementation should be accounted for.
show more ...
|
#
abed8b8e |
| 22-Sep-2023 |
Peter Kokot |
Remove _IO_cookie_io_functions_t in favor of cookie_io_functions_t As noted in glibc, the cookie_io_functions_t should be used instead of internal _IO_cookie_io_functions_t. The
Remove _IO_cookie_io_functions_t in favor of cookie_io_functions_t As noted in glibc, the cookie_io_functions_t should be used instead of internal _IO_cookie_io_functions_t. The _IO_cookie_io_functions_t was once used as a convenience for not having the cookie_io_functions_t available (glibc <=2.1.1) as noted in 67bb9d1ae23fe4c7e4160dabfb4f07b51dccabf1. Check in the build system was also always setting the COOKIE_IO_FUNCTIONS_T to cookie_io_functions_t due to a typo. There is unused variable have_IO_cookie_io_functions_t vs. have_cookie_io_functions_t. - COOKIE_IO_FUNCTIONS_T removed Closes GH-12236
show more ...
|
#
8a812c3f |
| 19-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-12215: Module entry being overwritten causes type errors in ext/dom (PHP 8.4) When we try to load an extension multiple times, we still overwrite the type, module number, and hand
Fix GH-12215: Module entry being overwritten causes type errors in ext/dom (PHP 8.4) When we try to load an extension multiple times, we still overwrite the type, module number, and handle. If the module number is used to indicate module boundaries (e.g. in reflection and in dom, see e.g. dom_objects_set_class_ex), then all sorts of errors can happen. In the case of ext/dom, OP's error happens because the following happens: - The property handler is set up incorrectly in dom_objects_set_class_ex() because the wrong module number is specified. The class highest in the hierarchy is DOMNode, so the property handler is incorrectly set to that of DOMNode instead of DOMDocument. - The documentElement property doesn't exist on DOMNode, it only exists on DOMDocument, so it tries to read using zend_std_read_property(). As there is no user property called documentElement, that read operation returns an undef value. However, the type is still checked, resulting in the strange exception. Solve this by changing the API such that the data is only overwritten if it's owned data. Closes GH-12246.
show more ...
|
#
a8e1b101 |
| 14-Sep-2023 |
Peter Kokot |
Remove unused --with-zlib-dir configure option Commits that removed this option: - 34dd032e4e70a33e3e8fa27e38af62f63601b447 - a2c21e10b278988910c77afd86d046db9a5c86e0 - e595f5cd8
Remove unused --with-zlib-dir configure option Commits that removed this option: - 34dd032e4e70a33e3e8fa27e38af62f63601b447 - a2c21e10b278988910c77afd86d046db9a5c86e0 - e595f5cd8a4a00ca04e36ba1e78f14805dbecead Closes GH-12209
show more ...
|
#
ac62eee8 |
| 08-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Remove DOM_NO_ARGS() and DOM_NOT_IMPLEMENTED() (#12147) DOM_NO_ARGS() has no users. DOM_NOT_IMPLEMENTED() has a single user.
|
#
48443183 |
| 02-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Use zend_result as return for properties in ext/dom (#12113)
|
#
ad2ac6f0 |
| 29-Aug-2023 |
Pierrick Charron |
Prepare for PHP 8.4
|
#
bb092ab4 |
| 06-Aug-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix #80927: Removing documentElement after creating attribute node: possible use-after-free Closes GH-11892.
|
#
efc73f24 |
| 07-Aug-2023 |
Ilija Tovilo |
Revert "Call cast_object handler from get_properties_for" This reverts commit 4182813ebffe0570e3741debd7da543df3517d0d.
|
#
4182813e |
| 30-Jun-2023 |
Ilija Tovilo |
Call cast_object handler from get_properties_for Fixes GH-11547 Closes GH-11583
|
#
d35df89c |
| 19-Jul-2023 |
Athos Ribeiro |
Fix #79026: Allow PHP_EXTRA_VERSION overrides When building from sources, someone distributing PHP may want to add a vendor specific string to the PHP_VERSION so users can differentiate
Fix #79026: Allow PHP_EXTRA_VERSION overrides When building from sources, someone distributing PHP may want to add a vendor specific string to the PHP_VERSION so users can differentiate multiple vendor builds from the same PHP version. For instance, a vendor backporting a bug fix to a no-longer-supported PHP version could extend their PHP_EXTRA_VERSION to allow their users to identify that they carry such fix by checking their PHP_VERSION. Closes GH-11706
show more ...
|
#
1a0ef2c1 |
| 06-Jul-2023 |
Ilija Tovilo |
Revert "Remove name field from the zend_constant struct (#10954)" This reverts commit f42992f580343931434dff2e4b2042ff945b48a1. Closes GH-11604
|
#
d0731934 |
| 16-Jul-2023 |
Arnaud Le Blanc |
Expose time spent collecting cycles in gc_status() (#11523)
|
#
0b2e6bc2 |
| 02-Jul-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Cache d_type in directory entry
|
#
1fbbd2b2 |
| 02-Jul-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Remove unused is_recursive entry This only takes up space and time.
|
#
c6e934b2 |
| 07-Jul-2023 |
George Peter Banyard |
[skip ci] Document LDFLAGS not being unset anymore
|
#
ad1b70d6 |
| 04-Jul-2023 |
Ilija Tovilo |
Revert "Revert "Remove name field from the zend_constant struct (#10954)"" This reverts commit 9f4bd3040d2809f209d73f696b21302f311665b7.
|
#
9f4bd304 |
| 03-Jul-2023 |
Máté Kocsis |
Revert "Remove name field from the zend_constant struct (#10954)" This reverts commit f42992f580343931434dff2e4b2042ff945b48a1. Fix GH-11423
|
#
b4917d8a |
| 26-Jun-2023 |
nielsdos <7771979+nielsdos@users.noreply.github.com> |
[ci skip] Update UPGRADING.INTERNALS
|
#
a7202682 |
| 05-Jun-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Use uint32_t for the number of nodes (#11371)
|
#
c3f07973 |
| 02-Jun-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Implement iteration cache, item cache and length cache for node list iteration (#11330) * Implement iteration cache, item cache and length cache for node list iteration The current
Implement iteration cache, item cache and length cache for node list iteration (#11330) * Implement iteration cache, item cache and length cache for node list iteration The current implementation follows the spec requirement that the list must be "live". This means that changes in the document must be reflected in the existing node lists without requiring the user to refetch the node list. The consequence is that getting any item, or the length of the list, always starts searching from the root element of the node list. This results in O(n) time to get any item or the length. If there's a for loop over the node list, this means the iterations will take O(n²) time in total. This causes real-world performance issues with potential for downtime (see GH-11308 and its references for details). We fix this by introducing a caching strategy. We cache the last iterated object in the iterator, the last requested item in the node list, and the last length computation. To invalidate the cache, we simply count the number of modifications made to the containing document. If the modification number does not match what the number was during caching, we know the document has been modified and the cache is invalid. If this ever overflows, we saturate the modification number and don't do any caching anymore. Note that we don't check for overflow on 64-bit systems because it would take hundreds of years to overflow. Fixes GH-11308.
show more ...
|
#
c6655fb7 |
| 29-May-2023 |
nielsdos <7771979+nielsdos@users.noreply.github.com> |
Implement dom_get_doc_props_read_only() I was surprised to see that getting the stricterror property showed in in the Callgrind profile of some tests. Turns out we sometimes allocate
Implement dom_get_doc_props_read_only() I was surprised to see that getting the stricterror property showed in in the Callgrind profile of some tests. Turns out we sometimes allocate them. Fix this by returning the default in case no changes were made yet. Closes GH-11345.
show more ...
|