Skip to content

[pull] master from php:master#102

Merged
pull[bot] merged 13 commits into
dolfly:masterfrom
php:master
Jul 31, 2025
Merged

[pull] master from php:master#102
pull[bot] merged 13 commits into
dolfly:masterfrom
php:master

Conversation

@pull

@pull pull Bot commented Jul 31, 2025

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.3)

Can you help keep this open source service alive? 💖 Please sponsor : )

ndossche and others added 13 commits July 31, 2025 19:00
There are 2 issues:
1. When a MULTISORT_ABORT happens, it frees func, but func may point to
   ARRAYG(multisort_func), which would be a problem with nested
   invocations as it can destroy that of the "parent" invocation.
   To solve this, delay assigning to the globals.
2. The old globals were not restored which means that nested invocations
   with different flags will cause a wrong sorting function to be used.

Closes GH-19319.
* PHP-8.3:
  Fix GH-19300: Nested array_multisort invocation with error breaks
* PHP-8.4:
  Fix GH-19300: Nested array_multisort invocation with error breaks
Otherwise this hits an assertion failure in pass2 reversal and causes a
subsequent crash.

Closes GH-19206.
* PHP-8.4:
  Remove dynamic defs from property hooks
  Add missing hooks JIT restart code
And move some into their relevant folders
Since GH-13188 we're no longer immediately updating iterator positions when
deleting array elements. zend_hash_rehash() needs to adapt accordingly by
adjusting nInternalPosition for IS_UNDEF elements. This is already the case for
array iterators.

Fixes GH-19280
Closes GH-19323
* PHP-8.4:
  Fix stale nInternalPosition on rehashing
Reuse the helper zend_foreach_op_array() that we move to the
zend_optimizer.h header to be usable in opcache.
Note that applying this to other op_array loops is not easy because they either:
- start from EG(persistent_classes_count)
- or only apply to classes
Add const modifier
Use unsigned types when the source type is unsigned
Use HashTable instead of zvals where possible
@pull pull Bot locked and limited conversation to collaborators Jul 31, 2025
@pull pull Bot added the ⤵️ pull label Jul 31, 2025
@pull pull Bot merged commit 65b9cf1 into dolfly:master Jul 31, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants