Repository navigation
Commit 952c0be
committed
fix(jsoo): make List.remove_assoc tail-recursive via the List shadow
add-all at size 10000 overflowed the default Node stack under js_of_ocaml:
ensure_current_tx_tempid walks the tempid order list (one entry per
transacted entity) with the non-tail stdlib remove_assoc, producing ~10k
nested frames plus caml_compare calls. Extend the existing
Datascript_types.List shadow (already used for concat_map/concat/flatten)
with a tail-recursive remove_assoc so native, Melange, and jsoo all get
bounded-stack behavior. The full size-10000 bench suite now completes
under node --stack-size=200.1 parent fabdb72 commit 952c0be
2 files changed
Lines changed: 31 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
117 | 128 | | |
118 | 129 | | |
119 | 130 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
534 | 534 | | |
535 | 535 | | |
536 | 536 | | |
537 | | - | |
538 | | - | |
539 | | - | |
540 | | - | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
541 | 545 | | |
542 | 546 | | |
543 | 547 | | |
| |||
550 | 554 | | |
551 | 555 | | |
552 | 556 | | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
553 | 565 | | |
0 commit comments