Problem
M3 emit-TU execution (#2442) and the runtime-compile smoke path both depend on real Runtime bootstrap lowering (ctor/initVmContext/loadJit/parse/compile entry). Today this area is still partially stubbed/denied behind the M3 allowlist tracker (#1768) and can still trip Zend fallback or startup crashes when exercised by emit-TU helpers.
This issue scopes Batch A (Runtime bootstrap) as a gate-driven slice so M3 can move from emit_path=zend partial toward emit_path=native.
Gate / repro
Harness-safe Docker (LLVM 9):
./script/docker-exec.sh -- bash -lc '
source script/php-env.sh
script/apply-patches.sh
BOOTSTRAP_M3_RUNTIME_COMPILE=1 make bootstrap-selfhost-runtime-compile-smoke
'
Scope (files / symbols)
lib/Runtime.php
__construct path used by runtime-compile mode
- compile entrypoints used by M3 drivers
lib/JIT.php
compileRuntimeCtorM3Native
compileRuntimeInitVmContextM3Native (calls RuntimeInitVmContext::emit)
compileRuntimeLoadJitM3Native and any minimal helpers required by the runtime-compile smoke
lib/JIT/RuntimeInitVmContext.php
Done when
Links / dependencies
Problem
M3 emit-TU execution (#2442) and the runtime-compile smoke path both depend on real Runtime bootstrap lowering (ctor/initVmContext/loadJit/parse/compile entry). Today this area is still partially stubbed/denied behind the M3 allowlist tracker (#1768) and can still trip Zend fallback or startup crashes when exercised by emit-TU helpers.
This issue scopes Batch A (Runtime bootstrap) as a gate-driven slice so M3 can move from
emit_path=zend partialtowardemit_path=native.Gate / repro
Harness-safe Docker (LLVM 9):
Scope (files / symbols)
lib/Runtime.php__constructpath used by runtime-compile modelib/JIT.phpcompileRuntimeCtorM3NativecompileRuntimeInitVmContextM3Native(callsRuntimeInitVmContext::emit)compileRuntimeLoadJitM3Nativeand any minimal helpers required by the runtime-compile smokelib/JIT/RuntimeInitVmContext.phpDone when
BOOTSTRAP_M3_RUNTIME_COMPILE=1 make bootstrap-selfhost-runtime-compile-smokeexits 0 onphp-compiler:22.04-devbin/compile.phpfallback to proceedLinks / dependencies