Skip to content

Self-host M2: BootstrapVmDriver native execute smoke (post-#2134 bin/vm.php link) #2201

Description

@PurHur

Problem

#2134 tracks native-linking bin/vm.php in compiler_lib_spine_smoke. #2134 prerequisite is now green (#2499 ✅): spine link passes; only bin/vm.php remains deferred in script/bootstrap-spine-deferred-lib.php.

Link-only proves the TU bundles; it does not prove the compiled VM driver can interpret PHP at runtime (-r 'echo 1;' or tiny fixture).

Without an execute smoke, M2 can show bundle OK while the VM entry mis-links or crashes on first opcode — blocking honest progress toward #1521 (Zend-free bin/vm.php).

Goal

After #2134 promotes real bin/vm.php:

  1. script/bootstrap-selfhost-vm-driver-execute-probe.sh builds/runs spine-linked VM driver on a 1-line fixture
  2. BOOTSTRAP_VM_DRIVER_EXECUTE_GATE=1 opt-in in ci-local.sh llvm group (CI: BOOTSTRAP_VM_DRIVER_EXECUTE_GATE default-on in ci-local after #2201 opt-in green #2227 default-on follow-up)
  3. Expected stdout contains vm driver ok (or documented needle)

Implementation hints

Piece Path Notes
Probe (TBD) script/bootstrap-selfhost-vm-driver-execute-probe.sh Mirror bootstrap-selfhost-helloworld-probe.sh
Spine test/selfhost/compiler_lib_spine_smoke/main.php Real require_once of bin/vm.php
VM entry bin/vm.php Replace test/bootstrap-aot/vm_run_smoke.php
Env script/ci-defaults.env BOOTSTRAP_VM_DRIVER_EXECUTE_GATE="${...:-0}"
CI script/ci-common.sh ci_run_bootstrap_vm_driver_execute()
Docs docs/bootstrap-selfhost.md, docs/self-host-target.md M2 gate row

Bootstrap gates

Gate Command Blocker
M2 spine link BOOTSTRAP_LIB_SPINE_SMOKE=1 make bootstrap-selfhost-lib-spine-smoke #2134
VM spine -r BOOTSTRAP_LIB_SPINE_VM_SMOKE=1 make bootstrap-selfhost-lib-spine-vm-smoke partial today
VM driver execute BOOTSTRAP_VM_DRIVER_EXECUTE_GATE=1 ./script/bootstrap-selfhost-vm-driver-execute-probe.sh this issue
M3 emit (orthogonal) make bootstrap-selfhost-helloworld #2442

Done when

Repro (after #2134)

./script/docker-exec.sh -- bash -lc '
  script/apply-patches.sh
  BOOTSTRAP_VM_DRIVER_EXECUTE_GATE=1 ./script/bootstrap-selfhost-vm-driver-execute-probe.sh
'

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