Skip to content

M2 spine: ob_* AOT runtime + JitOb scaffolds (North Star 2) - #1876

Merged
PurHur merged 1 commit into
masterfrom
agent/stdlib-debug-backtrace-ob-jit
May 25, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/stdlib-debug-backtrace-ob-jit

Conversation

@PurHur

@PurHur PurHur commented May 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add native output-buffer runtime (phpc_ob.c, phpc_ob_storage.c) and link it from lib/AOT/Linker.php for AOT/self-host binaries.
  • Add LLVM JitOb* lowering classes (JitObStart, JitObGetLevel, JitObGetClean, JitObEndFlush) and register __phpc_ob_* externals via ObOutput::registerExternals().
  • Grow compiler_lib_spine_smoke bundle (+4 units) and sync North Star 2 footnotes to 589 / 593 inventory.

JIT call() for debug_backtrace / ob_* remains deferred (MCJIT runtime segfault on this harness — same class of issue as pre-enablement stream_context_create / nested frame hashtables in #1854). VM paths unchanged.

Closes #1492

Test plan

  • php script/audit-stdlib-jit.php / php script/capability-matrix.php
  • check-wave3-roadmap-sync / check-selfhost-spine-count-sync (589/593)
  • BootstrapSelfhostBundleTest (spine require_once count)
  • BOOTSTRAP_LIB_SPINE_SMOKE=1 make bootstrap-selfhost-lib-spine-smoke (needs host LLVM 9 / 22.04-dev image)
  • ./script/ci-local.sh full gate on a machine with working MCJIT

Made with Cursor

…#1492)

Add native output-buffer runtime (phpc_ob.c) and LLVM JitOb* lowering classes
for self-host AOT link. Bundle four ob Jit* units in compiler_lib_spine_smoke
(589/593 inventory). Register __phpc_ob_* externals for JIT modules.

JIT call() for debug_backtrace/ob_* remains deferred (MCJIT runtime segfault
on nested hashtables / ob stack — follow stream_context_create enablement).

Closes #1492 (batch). Refs #1378, #118, #1419.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur force-pushed the agent/stdlib-debug-backtrace-ob-jit branch from 6b49495 to a02aded Compare May 25, 2026 03:00
@PurHur
PurHur merged commit cfdaeac into master May 25, 2026
@PurHur
PurHur deleted the agent/stdlib-debug-backtrace-ob-jit branch May 25, 2026 03:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Epic: Self-host critical path — compiler compiles itself (M3→M5)

1 participant