perf(codegen): specialize typed-array helper integer args - #7951
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (10)
📝 WalkthroughWalkthroughThe change extends typed-array specialization with integer-local provenance and specialized I32 parameter facts. Specialized calls lower proven locals as raw i32 values. New tests verify direct ChangesFloat64Array specialization ABI
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant TypeScriptHelper
participant SpecAbiCollector
participant FactGraph
participant SpecializedHelper
participant Float64ArrayStorage
TypeScriptHelper->>SpecAbiCollector: analyze typed-array and numeric arguments
SpecAbiCollector->>FactGraph: pass typed-array length and I32 facts
FactGraph->>SpecializedHelper: lower specialized representation tuple
SpecializedHelper->>Float64ArrayStorage: store Float64 value at raw i32 index
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 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 |
Closes #7221
Summary
new Float64Array(nodes)keeps its non-view shape at direct call sitesPutValueSetlowering path with IR and checksum-equivalence regressionsValidation
cargo fmt --all -- --checkcargo test -p perry-codegenbash scripts/check_file_size.shissue7221: 1011200 0.40900000000000003ta7x10000,i32,i32,i32,b; helper emits directstore doubleand nojs_typed_array_index_set_dynamiccallSummary by CodeRabbit
Performance
Float64Arrayoperations by using proven integer indices and direct stores.Bug Fixes
Float64Arrayresults across repeated updates and frames.