History log of /php-src/UPGRADING.INTERNALS (Results 26 – 50 of 368)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# f75143cc 22-Feb-2024 Peter Kokot

Remove unused symbol ZEND_FIBER_ASM (#13467)

The symbol ZEND_FIBER_ASM is not defined on Windows and not used around
the ecosystem.


# 711e45203 18-Feb-2024 Peter Kokot

Rename HAVE_PHP_SOAP symbol on Windows ext/soap (#13426)

This syncs the symbol name with the *nix build, where HAVE_SOAP is
defined.


# 25923987 16-Feb-2024 Peter Kokot

Refactor PHP_SOCKADDR_CHECKS (#13406)

Instead of the project macro, the sockaddr_storage and sockaddr.sa_len
can be checked with the AC_CHECK_TYPES and AC_CHECK_MEMBERS by including

Refactor PHP_SOCKADDR_CHECKS (#13406)

Instead of the project macro, the sockaddr_storage and sockaddr.sa_len
can be checked with the AC_CHECK_TYPES and AC_CHECK_MEMBERS by including
the sys/socket.h. Some systems (~1988) didn't include the sys/types.h in
the socket.h (obsolete on current systems).

These macros by default define the HAVE_STRUCT_SOCKADDR_STORAGE and
HAVE_STRUCT_SOCKADDR_SA_LEN.

show more ...


# 95887962 15-Feb-2024 Peter Kokot

Use AC_CHECK_TYPES for checking struct flock (#13397)

The struct flock is defined in fcntl.h, if system has it. This removes
redundant PHP_STRUCT_FLOCK M4 macro in favor of the AC_CHECK_

Use AC_CHECK_TYPES for checking struct flock (#13397)

The struct flock is defined in fcntl.h, if system has it. This removes
redundant PHP_STRUCT_FLOCK M4 macro in favor of the AC_CHECK_TYPES,
which by default defines symbol HAVE_STRUCT_FLOCK.

show more ...


# 68691665 13-Feb-2024 Peter Kokot

Remove obsolete PHP_WITH_SHARED M4 macro (#13380)

This macro is obsolete in favor of the PHP_ARG_WITH macro. It was once
used in combination with the AC_ARG_WITH macro to determine, whet

Remove obsolete PHP_WITH_SHARED M4 macro (#13380)

This macro is obsolete in favor of the PHP_ARG_WITH macro. It was once
used in combination with the AC_ARG_WITH macro to determine, whether the
extension has been configured as shared.

show more ...


# c1609976 12-Feb-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[ci skip] Update UPGRADING.INTERNALS for "%S" modifier


# eb76a830 11-Feb-2024 Peter Kokot

Remove PHP atomic includes and PHP_DEFINE M4 macro (#13372)

PHP_DEFINE was introduced with the PHP 5 build system
9d9d39a0de3bec962c343051011f5a2ed7d7b242 and then refactored via
350

Remove PHP atomic includes and PHP_DEFINE M4 macro (#13372)

PHP_DEFINE was introduced with the PHP 5 build system
9d9d39a0de3bec962c343051011f5a2ed7d7b242 and then refactored via
350de12bc24472ccf20ff9a8b39a6da0185c070d.

This was once used to put defined constants into a single file to have
more fine-graned dependencies (atomic includes). Since no known PHP
extension is using this and it makes very little sense to use this, this
M4 macro can be removed in favor of the Autoconf native way using
AC_DEFINE and the usual included files php_config.h and config.h.

- Generated unused include directory removed
- Remove include dir from DEFS
- Remove also include dir from PDO checks

show more ...


# 250547c7 11-Feb-2024 Peter Kokot

Remove unused symbol HAVE_BSD_ICONV (#13373)


# 41e3044f 09-Feb-2024 Peter Kokot

Remove obsolete check for missing fclose declaration (#13360)

SunOS 4.1.4 from 1994 didn't have fclose declared in standard header
stdio.h. This doesn't need to be checked anymore, as fc

Remove obsolete check for missing fclose declaration (#13360)

SunOS 4.1.4 from 1994 didn't have fclose declared in standard header
stdio.h. This doesn't need to be checked anymore, as fclose is part of
the C89+ standard and declaration is present on Solaris 10 (SunOS 5.10)
and later.

show more ...


# 5752bbda 07-Feb-2024 Peter Kokot

[skip ci] Add oci extensions notes to upgrading docs


# e76f9e2b 07-Feb-2024 Peter Kokot

Remove DARWIN symbol (#13346)

When targeting Darwin systems (macOS, etc.), the compiler defines the
__APPLE__ symbol, which should be sufficient and a more established
detection meth

Remove DARWIN symbol (#13346)

When targeting Darwin systems (macOS, etc.), the compiler defines the
__APPLE__ symbol, which should be sufficient and a more established
detection method practice in these cases.

show more ...


# f9cfd40f 06-Feb-2024 Peter Kokot

Refactor utsname.domainname struct member Autoconf check (#13336)

* Refactor utsname.domainname struct member Autoconf check

Autoconf's AC_CHECK_MEMBERS macro (available since Autoc

Refactor utsname.domainname struct member Autoconf check (#13336)

* Refactor utsname.domainname struct member Autoconf check

Autoconf's AC_CHECK_MEMBERS macro (available since Autoconf 2.50) can be
used instead of the compile check. This was originally implemented for
IRIX compatibility, when Autoconf 2.13 didn't have the struct members
checking macro yet.

Macro by default here defines the HAVE_STRUCT_UTSNAME_DOMAINNAME symbol.

* Remove also redundant DARWIN symbol check

Checking in the configuration step also correctly detects missing struct
member on Darwin systems (macos...).

show more ...


# 631bc816 06-Feb-2024 Ilija Tovilo

Implement stackless internal function calls

Co-authored-by: Dmitry Stogov <dmitry@zend.com>

Closes GH-12461


# 1cc0a167 04-Feb-2024 Peter Kokot

[skip ci] Add note about ext/imap removal in upgrading docs

The imap extension has been moved to PECL. Adding a note about configure
options changes also in the UPGRADING.INTERNALS for e

[skip ci] Add note about ext/imap removal in upgrading docs

The imap extension has been moved to PECL. Adding a note about configure
options changes also in the UPGRADING.INTERNALS for easier build scripts
adjustments.

show more ...


# 97b3b455 01-Feb-2024 Tim Düsterhus

random: Move CSPRNG API into php_random_csprng.h (#13290)

This allows consumers of just the CSPRNG to include a much smaller header. It
also allows to verify at a glance whether a source

random: Move CSPRNG API into php_random_csprng.h (#13290)

This allows consumers of just the CSPRNG to include a much smaller header. It
also allows to verify at a glance whether a source file might use non-secure
randomness.

This commit includes the new header wherever the CSPRNG is used, possibly
replacing the inclusion of php_random.h if nothing else is used, but also
includes it in the main php_random.h header for compatibility.

Somewhat related to 45f8cfaf104f504340b0073b9736bb50a88d70a1,
2b30f18708b4f73d2c1d29d3a92a606ebdc5ac4c, and
b14dd85dca3b67a5462f5ed9b6aa0dc22beb615c.

show more ...


# 649fafb5 01-Feb-2024 Peter Kokot

Remove HAVE_JSON symbol (#13277)

The json extension is always available as of php 8.0. HAVE_JSON was also
never defined for Windows builds.


# b3bdc236 30-Jan-2024 Peter Kokot

Remove unused Makefile variables FIBER_ASSEMBLER and FIBER_ASM_ARCH

In Windows build system these were replaced with common PHP_ASSEMBLER
and FIBER_ASM_ABI when adjusting for the arm64.

Remove unused Makefile variables FIBER_ASSEMBLER and FIBER_ASM_ARCH

In Windows build system these were replaced with common PHP_ASSEMBLER
and FIBER_ASM_ABI when adjusting for the arm64.

Closes GH-13263

show more ...


# d5dae8bd 17-Jan-2024 Peter Kokot

[skip ci] Update upgrading docs for build related changes (#13176)

This updates the UPGRADING documents with current build system changes
done since the PHP-8.3 release.


# 90785dd8 12-Jan-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[RFC] Improve callbacks in ext/dom and ext/xsl (#12627)


# b1f5ca59 12-Jan-2024 Tim Düsterhus

Remove ext/random backwards-compatibility headers (#13108)

When ext/random was initially added in PHP 8.2, these headers started
“forwarding” to the new ext/random/php_random.h to reduce

Remove ext/random backwards-compatibility headers (#13108)

When ext/random was initially added in PHP 8.2, these headers started
“forwarding” to the new ext/random/php_random.h to reduce the impact on
existing extensions.

As master already contains some breaking changes of the internal API of
ext/random and as the last PHP version without ext/random will be EOL once
master is released, it appears appropriate to drop these headers now.

show more ...


# 97267215 10-Jan-2024 David CARLIER

general signatures discrepencies fixes (#13122)


# 162e1dce 09-Jan-2024 Tim Düsterhus

random: Optimize data flow for the `generate` function of native engines (#13043)

Instead of returning the generated `uint64_t` and providing the size (i.e. the
number of bytes of the ge

random: Optimize data flow for the `generate` function of native engines (#13043)

Instead of returning the generated `uint64_t` and providing the size (i.e. the
number of bytes of the generated value) out-of-band via the
`last_generated_size` member of the `php_random_status` struct, the `generate`
function is now expected to return a new `php_random_result` struct containing
both the `size` and the `result`.

This has two benefits, one for the developer:

It's no longer possible to forget setting `last_generated_size` to the correct
value, because it now happens at the time of returning from the function.

and the other benefit is for performance:

The `php_random_result` struct will be returned as a register pair, thus the
`size` will be directly available without reloading it from main memory.

Checking a simplified version of `php_random_range64()` on Compiler Explorer
(“Godbolt”) with clang 17 shows a single change in the resulting assembly
showcasing the improvement (https://godbolt.org/z/G4WjdYxqx):

- add rbp, qword ptr [r14]
+ add rbp, rdx

Empirical testing confirms a measurable performance increase for the
`Randomizer::getBytes()` method:

<?php
$e = new Random\Engine\Xoshiro256StarStar(0);
$r = new Random\Randomizer($e);

var_dump(strlen($r->getBytes(100000000)));

goes from 250ms (before the change) to 220ms (after the change). While
generating 100 MB of random data certainly is not the most common use case, it
confirms the theoretical improvement in practice.

show more ...


# 03547f68 03-Jan-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Remove properties field from php_libxml_node_object (#13062)

This shrinks the struct from 80 bytes to 72 bytes.
This was unused internally, I did not find users externally via GitHub

Remove properties field from php_libxml_node_object (#13062)

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.

show more ...


# 5d853788 17-Dec-2023 Marc Bennewitz

[ci skip] Added UPGRADING entry for GH-12413

Closes GH-12964.


# 642e1114 11-Dec-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

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 opt

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

show more ...


12345678910>>...15