Skip to content

Self-host M2: Close spine coverage gap (603→606 inventory units) #2050

Description

@PurHur

Problem

compiler_lib_spine_smoke links 603 require_once units; Phase A inventory reports 606 files on the bin/vm.php path (php script/bootstrap-inventory.php --check). #1922 and #2001 closed earlier spine batches; #1955 flipped SELFHOST_SPINE_COVERAGE_SYNC_GATE=1 default-on — the checker will fail until the last 3 inventory paths are in the spine bundle (or documented substitutes).

Without a focused tracker, M2 work scatters across #1492 / #1768 instead of a finish-line checklist.

Goal

php script/check-selfhost-spine-coverage-sync.php   # exit 0
BOOTSTRAP_LIB_SPINE_SMOKE=1 make bootstrap-selfhost-lib-spine-smoke   # native link OK
php script/bootstrap-spine-count.php                # spine == inventory coverage

Scope

  1. Identify the 3 missing inventory paths via check-selfhost-spine-coverage-sync.php --verbose
  2. Add require_once to test/selfhost/compiler_lib_spine_smoke/main.php (or extend spineSubstitutes / deferred tables in the checker with linked issues if link-blocked)
  3. Fix any native link/JIT stubs uncovered by new units (may touch Self-host M3: compile-driver real lowering symbol batch tracker #1768 symbol batches)
  4. Update docs/bootstrap-selfhost.md M2 row to 606/606

Implementation hints

Step Command / file
Gap list php script/check-selfhost-spine-coverage-sync.php --verbose
Spine main test/selfhost/compiler_lib_spine_smoke/main.php
Substitutes script/check-selfhost-spine-coverage-sync.php $spineSubstitutes, $deferred
Count SSOT script/bootstrap-spine-count.php
Native link script/bootstrap-selfhost-lib-spine-smoke.sh

Acceptance criteria

docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
  php script/check-selfhost-spine-coverage-sync.php
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
  env BOOTSTRAP_LIB_SPINE_SMOKE=1 ./script/bootstrap-selfhost-lib-spine-smoke.sh

No GitHub Actions required.

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