Skip to content

M2 spine wave 2 batch 5: math/type ext/standard units (#1497) - #1517

Closed
PurHur wants to merge 1 commit into
masterfrom
feat/1497-spine-wave2-batch5
Closed

M2 spine wave 2 batch 5: math/type ext/standard units (#1497)#1517
PurHur wants to merge 1 commit into
masterfrom
feat/1497-spine-wave2-batch5

Conversation

@PurHur

@PurHur PurHur commented May 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • Grow compiler_lib_spine_smoke from 358 → 373 require_once units (+15 math/type conversion ext/standard wrappers).
  • Update BootstrapSelfhostBundleTest, docs/self-host-target.md, and docs/pages/development-status.md with new spine count (~64% of 584 inventory).

Files added

  • ext/standard/boolval.php
  • ext/standard/ceil.php
  • ext/standard/cos.php
  • ext/standard/decbin.php
  • ext/standard/dechex.php
  • ext/standard/decoct.php
  • ext/standard/deg2rad.php
  • ext/standard/exp.php
  • ext/standard/floor.php
  • ext/standard/fmod.php
  • ext/standard/gettype.php
  • ext/standard/intval.php
  • ext/standard/is_finite.php
  • ext/standard/is_infinite.php
  • ext/standard/is_nan.php

Skipped (unchanged deferrals)

File / pattern Reason
array_pop.php, array_shift.php, array_search.php Union-return AOT types still blocked
array_combine.php Union-return / AOT types
preg_*.php wrappers Pull JitPreg* docblock failures
ext/standard/Vm* (11 leaves) Union-return Vm* deferred (#1467)
array_filter.php, array_reduce.php, array_walk.php, array_multisort.php, in_array.php Callback/array edge cases — next batch candidates

Test plan

  • script/apply-patches.sh
  • php bin/compile.php -l test/selfhost/compiler_lib_spine_smoke/main.php
  • BOOTSTRAP_LIB_SPINE_SMOKE=1 ./script/bootstrap-selfhost-lib-spine-smoke-link.sh
  • vendor/bin/phpunit test/unit/BootstrapSelfhostBundleTest.php --filter CompilerLibSpine

Closes #1497 (incremental batch).

Made with Cursor

Grow compiler_lib_spine_smoke to 373 require_once units with boolval,
ceil, trig/deconversion, and is_finite family wrappers that pass AOT lint;
skip array_pop/shift/search, preg wrappers, and Vm* union-return paths.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur

PurHur commented May 24, 2026

Copy link
Copy Markdown
Owner Author

PM triage (2026-05-24) — blocked on rebase

Status: OPEN > 60min · mergeable: CONFLICTING · parent: #1497 (closed on master at 358 units)

Conflict summary

Rebase onto current master (includes #1524, #1529, #1636) and resolve doc count drift:

File master this branch
docs/pages/development-status.md M2 358/586 373/584
docs/self-host-target.md 358 units 373 units
test/selfhost/compiler_lib_spine_smoke/main.php 358 require_once +15 math/type units

Keep 586 inventory count from master; take spine 373 from this branch after rebase.

Verify after rebase

php bin/compile.php -l test/selfhost/compiler_lib_spine_smoke/main.php
BOOTSTRAP_LIB_SPINE_SMOKE=1 ./script/bootstrap-selfhost-lib-spine-smoke-link.sh
vendor/bin/phpunit test/unit/BootstrapSelfhostBundleTest.php --filter CompilerLibSpine

Per-file tracking

213 m2-spine-unit child issues filed under #1497 — close #1553#1573 (and related) when this PR merges.

Action: rebase feat/1497-spine-wave2-batch5 → merge when green. No GHA; use ./script/ci-local.sh or Docker gate locally.

@PurHur

PurHur commented May 24, 2026

Copy link
Copy Markdown
Owner Author

PM triage (2026-05-24 batch 64) — still blocked on rebase

Status: OPEN ~2h · mergeable: CONFLICTING · master spine: 411/586 (not 358)

Master moved past this PR's base

Since batch 63 triage, master landed:

This PR's 15 math/type units are still missing on master (boolval, ceil, cos, decbin, … is_nan). Per-file issues #1553#1567 remain open.

Rebase target (post-#1756)

File Action
test/selfhost/compiler_lib_spine_smoke/main.php Rebase + append 15 require_once after current 411 units → 426
test/unit/BootstrapSelfhostBundleTest.php Assert 426 (108 minimal + 318 M2 spine)
docs/pages/development-status.md Keep 586 inventory; spine 426/586
docs/self-host-target.md Sync spine count

Verify after rebase

php bin/compile.php -l test/selfhost/compiler_lib_spine_smoke/main.php
BOOTSTRAP_LIB_SPINE_SMOKE=1 ./script/bootstrap-selfhost-lib-spine-smoke-link.sh
vendor/bin/phpunit test/unit/BootstrapSelfhostBundleTest.php --filter CompilerLibSpine

Action: rebase feat/1497-spine-wave2-batch5 onto current master → merge when green. Tracked: #1753. No GHA; local ./script/ci-local.sh or Docker gate only.

Cannot auto-merge: conflict resolution required (implementation task).

@PurHur

PurHur commented May 24, 2026

Copy link
Copy Markdown
Owner Author

PM close (batch 64): Cannot merge — CONFLICTING rebase required after master moved to 411/586 (#1748, #1749, #1754, #1756).

The 15 math/type units in this branch are still needed but must be rebased onto current master. Work continues in #1753 — reopen or submit a fresh PR from feat/1497-spine-wave2-batch5 after rebase.

Per-file issues #1553#1567 stay open until rebased PR lands.

@PurHur PurHur closed this May 24, 2026
PurHur added a commit that referenced this pull request May 24, 2026
M2 spine wave 2 batch 5: add 15 math/type ext/standard units (#1497)

Rebased onto master (419→434 spine units). Closes #1753, #1497.
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.

M2 wave 2: Grow compiler_lib_spine_smoke toward full vm.php inventory

1 participant