Skip to content

Self-host M2: land final 3 ext/standard Vm* units in compiler_lib_spine_smoke (578→586) #1821

Description

@PurHur

Problem

After #1818 hygiene, 3 open m2-spine-unit issues remain — all AOT lint blockers for spine growth:

Issue File
#1540 ext/standard/VmPregReplaceCallback.php
#1543 ext/standard/VmSplAutoload.php
#1544 ext/standard/VmString.php

compiler_lib_spine_smoke is 578/586 inventory files on master. These three units block closing the M2 spine gap toward full lib/ link (#1419, #1492).

Goal

Bundle PR adds all three files to test/selfhost/compiler_lib_spine_smoke/main.php with:

array_multisort remains deferred (#1809 notes Expr_Closure in comparator) — separate from this bundle.

Implementation hints

Step Command
Lint one file php bin/compile.php -l ext/standard/VmString.php
Lint spine php bin/compile.php -l test/selfhost/compiler_lib_spine_smoke/main.php
Native link BOOTSTRAP_LIB_SPINE_SMOKE=1 make bootstrap-selfhost-lib-spine-smoke
Inventory php script/bootstrap-inventory.php --check

Likely touch: lib/JIT/Builtin/, SelfHostBuiltinPolicy, spine require_once list.

Acceptance criteria

make bootstrap-wave-check
BOOTSTRAP_LIB_SPINE_SMOKE=1 make bootstrap-selfhost-lib-spine-smoke
M2_SPINE_ISSUE_HYGIENE_GATE=1 php script/check-m2-spine-issue-hygiene.php
grep -c '^require_once' test/selfhost/compiler_lib_spine_smoke/main.php   # 586

Docker:

docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
  bash -lc 'BOOTSTRAP_LIB_SPINE_SMOKE=1 make bootstrap-selfhost-lib-spine-smoke'

Dependencies

Links

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions