Skip to content

Fix bootstrap JIT assignOperand and Runtime MODE_* for AOT compile (#1074)#1129

Merged
PurHur merged 1 commit into
masterfrom
agent/stdlib-bootstrap-aot
May 23, 2026
Merged

Fix bootstrap JIT assignOperand and Runtime MODE_* for AOT compile (#1074)#1129
PurHur merged 1 commit into
masterfrom
agent/stdlib-bootstrap-aot

Conversation

@PurHur
Copy link
Copy Markdown
Owner

@PurHur PurHur commented May 23, 2026

Summary

  • Materialize compile-time native arrays into mixed/value boxes via __value__writeHashtable in assignOperand, fixing Source type: 196 on stdlib_numeric and valuePtrFromVariable requires TYPE_VALUE on nested native-array value copies.
  • Seed external PHPCompiler\Runtime class constants (MODE_NORMAL, MODE_AOT) for JIT class-const fetch so compile_driver_smoke and self-host driver paths compile.
  • Add BootstrapAotJitCompileTest LLVM AOT compile gates for both patterns.

Progress toward North Star 2 self-host (#1056).

Closes #1074

Test plan

  • vendor/bin/phpunit test/unit/BootstrapAotJitCompileTest.php --group llvm (Docker)
  • Manual AOT compile: stdlib_numeric.php and compile_driver_smoke.php no longer hit LogicException on master baseline
  • ./script/ci-fast.sh (Docker; no new failures from this change)

Made with Cursor

…1074)

Materialize native arrays into value boxes via __value__writeHashtable and
seed PHPCompiler\Runtime MODE_* constants for external class const fetch so
stdlib_numeric and compile_driver_smoke fixtures reach LLVM AOT compile.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur PurHur merged commit 5ee14ae into master May 23, 2026
1 check passed
@PurHur PurHur deleted the agent/stdlib-bootstrap-aot branch May 23, 2026 17:44
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.

Bootstrap AOT link matrix: recover failing fixtures (umbrella)

1 participant