Skip to content

Perf: per-unit helper-runtime deps so JIT edits do not flush the corpus (#23458) - #23493

Merged
PurHur merged 1 commit into
masterfrom
agent/issue-23458-helper-runtime-per-unit-deps
Jul 26, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/issue-23458-helper-runtime-per-unit-deps

Conversation

@PurHur

@PurHur PurHur commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Summary

Verification

$ php script/check-helper-runtime-prelink.php
check-helper-runtime-prelink: x86_64-linux — 257 fresh, 0 stale, 0 broken

$ ./script/phpunit.sh --filter HelperRuntimeCacheFingerprintTest
OK (5 tests, 19 assertions)

# Bounded invalidation (VmString listed by 42/257 units; JIT.php by 0)
before: Strpos=fresh Wordwrap=fresh
after VmString touch: Strpos=STALE Wordwrap=STALE   # both list VmString
after JIT.php touch: Strpos=fresh Wordwrap=fresh    # global key ignores JIT core

$ make north-star5-verify-fast
north-star5-verify: OK (fast)

Dep-count histogram after migrate: mostly 1–5 deps/unit (max 17). Editing one lowering no longer invalidates the whole corpus.

Test plan

  • php script/check-helper-runtime-prelink.php → 257 fresh
  • HelperRuntimeCacheFingerprintTest
  • Bounded invalidation probe (VmString vs JIT.php)
  • make north-star5-verify-fast

Made with Cursor

…us (#23458)

Narrow the global cache key to composer.lock/patches/LLVM, record deps[] on
each unit (NestedJIT paths + one-level same-dir SSOT refs), and migrate the
committed 257 manifests to v2 without re-emitting objects. Editing VmString
invalidates ~42 units; editing lib/JIT.php invalidates none. Gen-0 fingerprint
restamped unverified (driver bytes unchanged; #22642).

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 7e85d47 into master Jul 26, 2026
1 check failed
@PurHur
PurHur deleted the agent/issue-23458-helper-runtime-per-unit-deps branch July 26, 2026 16:21
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: helper-runtime cache key is too coarse — one lowering edit invalidates all 257 units

1 participant