Skip to content

Perf: default PHPCFG Simplifier to use-chain path (#23056) - #23070

Merged
PurHur merged 1 commit into
masterfrom
agent/issue-23056-simplifier-usechain
Jul 25, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/issue-23056-simplifier-usechain

Conversation

@PurHur

@PurHur PurHur commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #23056

Validation

  • Opcode dumps: 193 same / 0 diff on a 200-file examples|lib|ext/standard|bin|src sample (files ≤200KB); earlier smaller corpus also 0 opcode diffs (CFG pretty-print / inferred type labels can still differ).
  • ./script/phpunit.sh --filter SimplifierUseChainOpcodeEquivalenceTestOK 6 tests
  • ./script/apply-patches.shSkip php-cfg-simplifier-use-chain.patch (already applied)
  • Host php bin/vm.php examples/000-HelloWorld/example.php with default and USECHAIN=0 → Hello World

Notes

Test plan

  • Unit opcode equivalence corpus
  • apply-patches idempotent skip
  • Optional: exclusive gen-0 refresh wall-time with default use-chain vs PHPCFG_SIMPLIFIER_LEGACY=1

Made with Cursor

Opcode dumps match the legacy CFG walk on a curated corpus; keep
PHPCFG_SIMPLIFIER_USECHAIN=0 / PHPCFG_SIMPLIFIER_LEGACY=1 for bisect.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit ac1ac79 into master Jul 25, 2026
1 check failed
@PurHur
PurHur deleted the agent/issue-23056-simplifier-usechain branch July 25, 2026 16:56
PurHur added a commit that referenced this pull request Jul 25, 2026
…3075)

Pillar 1: north-star5-verify --fast step 4f-m failed (4470c186… vs live
34cc1d83…) after PropertyHooks/clone-with/Simplifier merges. Stamp with
BOOTSTRAP_GEN0_ALLOW_UNVERIFIED_STAMP=1 so provenance=unverified-restamp
is explicit (#22966). Honest verified-fresh rebuild remains #22717.

Co-authored-by: Cursor <cursoragent@cursor.com>
PurHur added a commit that referenced this pull request Jul 25, 2026
…ift (#23075) (#23077)

* Trust: restamp gen-0 fingerprint after #23059/#23066/#23070 drift (#23075)

Pillar 1: north-star5-verify --fast step 4f-m failed (4470c186… vs live
34cc1d83…) after PropertyHooks/clone-with/Simplifier merges. Stamp with
BOOTSTRAP_GEN0_ALLOW_UNVERIFIED_STAMP=1 so provenance=unverified-restamp
is explicit (#22966). Honest verified-fresh rebuild remains #22717.

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

* Trust: restamp gen-0 fingerprint after #23076 CURLFile drift (#23075)

Master moved (#23064/#23076) while the prior restamp was in flight; live
fingerprint is now 94f60af8… (was 34cc1d83…). Keep provenance=unverified-restamp.

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

---------

Co-authored-by: PurHur <PurHur@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
PurHur added a commit that referenced this pull request Sep 1, 2026
…36250) (#36257)

The patch_already_applied grep matched replaceVariablesByCfgWalk from the
July 5 partial apply, so the #23070 default flip never ran on dev boxes.
Add an overlay that upgrades partial trees and repairs duplicate cfg-walk
methods from a bad patch(1) apply.

Co-authored-by: PurHur <PurHur@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
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.

Perf: gen-0 rebuild cost is two quadratic scans — Simplifier CFG walk (fix exists, gated) and PropertyHooks::isInsideFunctionBody (no cache)

1 participant