Repository navigation
Stdlib: guard AOT asort/ksort string-key sorts (#27513) - #28073
Merged
Merged
Conversation
Thin AOT asort()/ksort() already match Zend via HashTable LLVM (#27227); add repro, AOT fixtures, and a 10× native run unit test so the module-verify regression cannot return silently. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
asort()/ksort()on string-key hashtables already match Zend/VM after the HashTable LLVM path from Regression: AOT krsort()/arsort() compile fails — Module verify arity (ext/standard/array.c) #27227 / Stdlib: thin AOT krsort/arsort via HashTable LLVM (#27227) #27863 (module-verify arity no longer reproduces).asort.phpt,ksort_assoc.phpt), andAsortKsortAot27513Test(VM + Zend + 10× native run) so this cannot regress silently.ext/standard/array.c—PHP_FUNCTION(asort)/PHP_FUNCTION(ksort).Closes #27513
Test plan
php test/repro/issue_27513_aot_asort_ksort.php→a,b,c|1,2,3×2php bin/vm.php test/repro/issue_27513_aot_asort_ksort.php→ samephp bin/compile.php -o /tmp/aot_27513 test/repro/issue_27513_aot_asort_ksort.php &&10×/tmp/aot_27513→ matchphp -d memory_limit=1536M vendor/bin/phpunit --filter AsortKsortAot27513Test→ OK (1 test, 27 assertions)php -d memory_limit=1536M vendor/bin/phpunit --filter 'asort|ksort_assoc' test/aot/AotTest.php→ OK (4 tests)ci-local.sh/ compliance suites (guard-only change)Gate snapshot
php script/bootstrap-inventory.php --check→ OK 7113/7113release-readiness --json: spine-coverage / north-star5-fast still red on master (unrelated to this PR)Made with Cursor