mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
03547f6832
This shrinks the struct from 80 bytes to 72 bytes. This was unused internally, I did not find users externally via GitHub search. The intention for this was that it could be used for attaching extra data as a 3rd party to a node. However, there are better mechanisms for that like using actual objects.
79 lines
2.5 KiB
Plaintext
79 lines
2.5 KiB
Plaintext
PHP 8.4 INTERNALS UPGRADE NOTES
|
|
|
|
1. Internal API changes
|
|
|
|
2. Build system changes
|
|
|
|
3. Module changes
|
|
|
|
4. OpCode changes
|
|
|
|
5. SAPI changes
|
|
|
|
========================
|
|
1. Internal API changes
|
|
========================
|
|
|
|
* zend_register_module_ex() now takes an additional int module_type argument.
|
|
This function will also assign the module number and type, there is no need
|
|
to do this at the call site anymore. Writing the handle should happen after
|
|
successful registration.
|
|
|
|
* ZPP now accepts a F or Z_PARAM_FUNC_NO_TRAMPOLINE_FREE type check.
|
|
This is identical to the 'f' or Z_PARAM_FUNC type check, except the FCC is
|
|
always initialized because it doesn't free trampolines.
|
|
Trampolines MUST be freed using zend_release_fcall_info_cache() or consumed.
|
|
Z_PARAM_FUNC_EX2 was added as well with the same arguments as Z_PARAM_FUNC_EX
|
|
plus an additional argument free_trampoline.
|
|
|
|
========================
|
|
2. Build system changes
|
|
========================
|
|
|
|
a. Unix build system changes
|
|
- The configure option --with-zlib-dir has been removed.
|
|
- Symbol COOKIE_IO_FUNCTIONS_T has been removed (use cookie_io_functions_t).
|
|
|
|
========================
|
|
3. Module changes
|
|
========================
|
|
|
|
a. ext/dom
|
|
- dom_read_t and dom_write_t now expect the function to return zend_result
|
|
instead of int.
|
|
- The macros DOM_NO_ARGS() and DOM_NOT_IMPLEMENTED() have been removed.
|
|
|
|
b. ext/random
|
|
- The macro RAND_RANGE_BADSCALING() has been removed. The implementation
|
|
should either be inlined and undefined behavior fixed or it should be
|
|
replaced by a non-biased scaler.
|
|
|
|
c. ext/xsl
|
|
- The function php_xsl_create_object() was removed as it was not used
|
|
nor exported.
|
|
|
|
d. ext/libxml
|
|
- Added php_libxml_pretend_ctx_error_ex() to emit errors as if they had come
|
|
from libxml.
|
|
- Removed the "properties" HashTable field from php_libxml_node_object.
|
|
|
|
e. ext/date
|
|
- Added the php_format_date_ex() API to format instances of php_date_obj.
|
|
- Added the php_date_initialize_from_ts_long() and
|
|
php_date_initialize_from_ts_double() to initialize a php_date_obj with
|
|
the given unix timestamp using GMT +00:00.
|
|
|
|
d. ext/pcre
|
|
- php_pcre_match_impl() now no longer has a use_flags argument.
|
|
When flags should be ignored, pass 0 to the flags argument.
|
|
- php_pcre_match_impl() and pcre_get_compiled_regex_cache_ex() now use
|
|
proper boolean argument types instead of integer types.
|
|
|
|
========================
|
|
4. OpCode changes
|
|
========================
|
|
|
|
========================
|
|
5. SAPI changes
|
|
========================
|