Skip to content

php-in-php: strcasecmp()/strncasecmp() JIT via CaseCompareJitHelper — drop libc LLVM (#15225) - #15226

Merged
PurHur merged 1 commit into
masterfrom
agent/issue-15225-strcasecmp-php
Jul 3, 2026
Merged

php-in-php: strcasecmp()/strncasecmp() JIT via CaseCompareJitHelper — drop libc LLVM (#15225)#15226
PurHur merged 1 commit into
masterfrom
agent/issue-15225-strcasecmp-php

Conversation

@PurHur

@PurHur PurHur commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #15225

C runtime shrink

  • JIT strcasecmp/strncasecmp symbols now bridge to VmString::* through compiled PHP instead of libc compare functions on the hot path.

php-src reference

  • ext/standard/string.cPHP_FUNCTION(strcasecmp|strncasecmp)

Test plan

./script/docker-exec.sh -- php bin/vm.php -r 'var_export(strcasecmp("A","a"));'
# int(0)

php vendor/bin/phpunit --filter StrcasecmpRuntimeShrinkTest
# OK (4 tests, 9 assertions)

php script/bootstrap-inventory.php --check
# OK 3772/3772

php script/check-selfhost-spine-coverage-sync.php
# OK (spine covers all 3772 inventory files)

make bootstrap-selfhost-vm-driver-execute-probe
# bootstrap-selfhost-vm-driver-execute-probe: OK

Made with Cursor

… drop libc LLVM (#15225)

Install PHP i8* bridges for strcasecmp/strncasecmp like strnatcmp (#13535);
VM SSOT remains VmString. Regen inventory to 3772/3772.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 6ae96cc into master Jul 3, 2026
@PurHur
PurHur deleted the agent/issue-15225-strcasecmp-php branch July 3, 2026 00:46
PurHur added a commit that referenced this pull request Jul 3, 2026
…5226 (#15231)

PR #15227 stamped 00962fc5 (pre-merge spine) while master spine entry is
daeee12a after asinh/strcasecmp spine includes — restore sidecar sync gate.

Co-authored-by: PurHur <PurHur@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

php-in-php: strcasecmp()/strncasecmp() JIT via CaseCompareJitHelper PHP — drop libc LLVM (#1492)

1 participant