Uh oh!
There was an error while loading. Please reload this page.
Reify - #11
Conversation
Specialize concrete turbofish calls at compile time: Graph\dfs::<string,int>() compiles to a direct by-name call to the mangled monomorph and drops the per-call ZEND_VERIFY_GENERIC_ARGUMENTS opcode, making it byte-identical to a non-generic call. Monomorphs are synthesized and registered on first reference; the runtime verify/bind path remains as the fallback for non-concrete / inference-only call sites. Also: persist the generic value-check plan into opcache SHM, and gate destroy_op_array's monomorph-table scan on ZEND_ACC2_HAS_GENERIC_CALL_OPS so non-generic code is not taxed. PSL\Graph bench (aarch64, opcache, two-point Ir/iter): reified-vs-erased overhead 6.51%->4.14% (all) / 5.72%->4.19% (query); wall 9.04%->5.89% (no-JIT). Erased baseline unchanged; generics tax -37%. Digests identical across no-JIT/tracing/-n, generics .phpt 0 new regressions, valgrind-clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
No description provided.