Skip to content

Self-host M3: native bin/compile.php execute smoke (post-#2442 emit-TU) #2466

Description

@PurHur

Milestone

M3 — native bin/compile.php executes and compiles external PHP (post emit-TU; blocks #1521 M5 driver)

Problem

Probes today cover emit-TU link/run (#2442), VM driver (#2201), and unit slices (#2332, #2354, #2409, #2430). There is no acceptance issue for:

Spine-linked bin/compile.php runs as a native binary and compiles a 1-line external fixture (echo 1;) without Zend php bin/compile.php.

M3 can show emit-TU green while the production compile entrypoint still mis-links or crashes.

Scope

Piece Path Notes
Probe script script/bootstrap-selfhost-compile-driver-execute-probe.sh Create — mirror bootstrap-selfhost-vm-driver-execute-probe.sh (#2201)
Fixture test/bootstrap-aot/compile_driver_execute_smoke.php or similar Minimal external source
Spine test/selfhost/compiler_lib_spine_smoke/main.php Ensure bin/compile.php path is in bundle
Env BOOTSTRAP_M3_LINK_COMPILE_DRIVER=1, BOOTSTRAP_M3_COMPILE_DRIVER_REAL_LOWERING=1, BOOTSTRAP_M3_RUNTIME_COMPILE=1 Same as helloworld strict
Allowlist lib/JIT.php #1768 batches — do not duplicate
CI script/ci-local.sh BOOTSTRAP_COMPILE_DRIVER_EXECUTE_GATE=0 opt-in

Repro (blocked today)

# Requires #2442 + #2512 + #2513 + #2538 green first
./script/docker-exec.sh -- bash -lc '
  source script/php-env.sh
  BOOTSTRAP_M3_LINK_COMPILE_DRIVER=1 \
  BOOTSTRAP_M3_COMPILE_DRIVER_REAL_LOWERING=1 \
  BOOTSTRAP_M3_RUNTIME_COMPILE=1 \
  BOOTSTRAP_COMPILE_DRIVER_EXECUTE_GATE=1 \
  ./script/bootstrap-selfhost-compile-driver-execute-probe.sh
'
# Done when: exit 0, stdout needle "compile driver ok" (exact string TBD in PR)

Sibling helloworld gate (emit-TU prerequisite):

./script/docker-exec.sh -- bash -lc '
  source script/php-env.sh
  BOOTSTRAP_M3_LINK_COMPILE_DRIVER=1 \
  BOOTSTRAP_M3_COMPILE_DRIVER_REAL_LOWERING=1 \
  BOOTSTRAP_M3_RUNTIME_COMPILE=1 \
  ./script/bootstrap-selfhost-helloworld-probe.sh
'
# Today: emit_path=zend partial (segfault at emit helper link)

Done when

Gate name

bootstrap-selfhost-compile-driver-execute-probe / BOOTSTRAP_COMPILE_DRIVER_EXECUTE_GATE

Dependencies

#2512 + #2513 + #2538 → #2442 → this probe → #1521 → #2075 M4 gen-2

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