Skip to content

M2: deep JIT/VM helpers in lib spine smoke (#1056)#1421

Closed
PurHur wants to merge 1 commit into
masterfrom
m2/spine-deep
Closed

M2: deep JIT/VM helpers in lib spine smoke (#1056)#1421
PurHur wants to merge 1 commit into
masterfrom
m2/spine-deep

Conversation

@PurHur
Copy link
Copy Markdown
Owner

@PurHur PurHur commented May 24, 2026

Summary

  • Extend compiler_lib_spine_smoke with deep-wave JIT builtins (StringParseStr, Type/Object_, Type/HashTable) and helpers (VarFetchHelper, UnsetHelper, ArrayBuiltinHelper, ReflectionBuiltinHelper, TypeCheck, ErrorHandlerCallbackPolicy); StringPregMatch / StringUnserialize were already on master.
  • Add targeted self-host JIT stubs in isSkippedLibSpineSmokeHotPathName for the new units.
  • Small AOT-safe refactors: remove arrow/closure/union/static-var patterns that blocked phpcfg/Compiler lowering in Object_, HashTable, VarFetchHelper, and ArrayBuiltinHelper.
  • Update BootstrapSelfhostBundleTest to 188 units (+9) and assert new LIB_SPINE_SMOKE_NEW_UNITS.

Test plan

  • php bin/compile.php -l test/selfhost/compiler_lib_spine_smoke/main.php
  • ./script/bootstrap-selfhost-lib-spine-smoke-link.sh (blocked here: missing libffi.so.7 / LLVM FFI runtime)
  • BootstrapSelfhostBundleTest::testCompilerLibSpineSmokeBundleUnitCountAndKeyUnits (count/key units)

Made with Cursor

Add deep-wave JIT builtins and helpers to compiler_lib_spine_smoke with
targeted AOT stubs and small lowering fixes for self-host parse/compile.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
Copy link
Copy Markdown
Owner Author

PurHur commented May 24, 2026

Superseded by #1454 (consolidated M2 spine merge).

@PurHur PurHur closed this May 24, 2026
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.

1 participant