Commit d4ef6da
committed
perf: reduce WASM boundary crossings in JS extractor
Gate extractCallbackDefinition behind member_expression type check to
skip ~60-70% of calls on simple foo() expressions. Pass pre-read fn
node to avoid redundant childForFieldName. Remove dead member_expression
branch in extractReceiverName that read a property field only to return
the same fallback value. Together these eliminate 3-4 WASM boundary
crossings per call_expression node, targeting the 32% WASM regression
between v2.0.0 and v2.1.0.
Impact: 4 functions changed, 2 affected1 parent 2312c92 commit d4ef6da
1 file changed
+6
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
139 | 139 | | |
140 | 140 | | |
141 | 141 | | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
142 | 146 | | |
143 | | - | |
144 | | - | |
145 | 147 | | |
146 | 148 | | |
147 | 149 | | |
| |||
320 | 322 | | |
321 | 323 | | |
322 | 324 | | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | 325 | | |
328 | 326 | | |
329 | 327 | | |
| |||
432 | 430 | | |
433 | 431 | | |
434 | 432 | | |
435 | | - | |
436 | | - | |
| 433 | + | |
| 434 | + | |
437 | 435 | | |
438 | 436 | | |
439 | 437 | | |
| |||
0 commit comments