php-src/ext/spl
Niels Dossche 642e11140c
Minor pcre optimizations (#12923)
* Update signature of pcre API

This changes the variables that are bools to actually be bools instead
of ints, which allows some additional optimization by the compiler (e.g.
removing some ternaries and move extensions).

It also gets rid of the use_flags argument because that's just the same
as flags == 0. This reduces the call frame.

* Use zend_string_release_ex where possible

* Remove duplicate symbols from strchr

* Avoid useless value conversions

* Use a raw HashTable* instead of a zval

* Move condition

* Make for loop cheaper by reusing a recently used value as start iteration index

* Remove useless condition

This can't be true if the second condition is true because it would
require the string to occupy the entire address space.

* Upgrading + remark
2023-12-11 19:43:26 +01:00
..
tests Merge branch 'PHP-8.3' 2023-12-01 09:11:32 +01:00
config.m4
config.w32
CREDITS
php_spl.c Merge branch 'PHP-8.2' into PHP-8.3 2023-12-01 09:09:58 +01:00
php_spl.h
php_spl.stub.php Fix rc info of iterator_to_array (#9080) 2022-07-21 15:05:34 +02:00
php_spl_arginfo.h Fix rc info of iterator_to_array (#9080) 2022-07-21 15:05:34 +02:00
spl_array.c ext/spl: Restructure spl_array.c file to move ArrayObject methods together 2023-11-16 00:41:37 +00:00
spl_array.h Declare ext/spl constants in stubs (#9226) 2022-08-02 16:37:12 +02:00
spl_array.stub.php Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00
spl_array_arginfo.h Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00
spl_directory.c Merge branch 'PHP-8.2' into PHP-8.3 2023-11-19 11:52:58 +01:00
spl_directory.h Remove unused is_recursive entry 2023-07-07 18:02:17 +02:00
spl_directory.stub.php Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00
spl_directory_arginfo.h Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00
spl_dllist.c Fix uouv on oom on object allocation 2023-08-14 11:10:00 +02:00
spl_dllist.h Declare ext/spl constants in stubs (#9226) 2022-08-02 16:37:12 +02:00
spl_dllist.stub.php Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00
spl_dllist_arginfo.h Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00
spl_engine.h
spl_exceptions.c
spl_exceptions.h
spl_exceptions.stub.php
spl_exceptions_arginfo.h
spl_fixedarray.c Remove dead stores from ext/spl (#12550) 2023-10-29 14:42:23 +00:00
spl_fixedarray.h
spl_fixedarray.stub.php Fix GH-9186 @strict-properties can be bypassed using unserialization (#9354) 2022-08-30 07:46:32 -04:00
spl_fixedarray_arginfo.h Fix GH-9186 @strict-properties can be bypassed using unserialization (#9354) 2022-08-30 07:46:32 -04:00
spl_functions.c SPL: minor refactoring (#8341) 2022-04-13 20:34:23 +01:00
spl_functions.h Declare ext/spl constants in stubs (#9226) 2022-08-02 16:37:12 +02:00
spl_heap.c Fix uouv on oom on object allocation 2023-08-14 11:10:00 +02:00
spl_heap.h Declare ext/spl constants in stubs (#9226) 2022-08-02 16:37:12 +02:00
spl_heap.stub.php Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00
spl_heap_arginfo.h Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00
spl_iterators.c Minor pcre optimizations (#12923) 2023-12-11 19:43:26 +01:00
spl_iterators.h Use zend_result in ext/spl where appropriate (#10734) 2023-03-01 18:58:17 +01:00
spl_iterators.stub.php Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00
spl_iterators_arginfo.h Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00
spl_observer.c chore: standardize the visibility of functions. (#10708) 2023-02-26 14:08:33 +00:00
spl_observer.h Declare ext/spl constants in stubs (#9226) 2022-08-02 16:37:12 +02:00
spl_observer.stub.php Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00
spl_observer_arginfo.h Typed constants in SPL extension (#12358) 2023-10-07 13:14:57 +01:00