Files
zig/src
Andrew Kelley d7bf0dab82 link.Wasm: fix incremental update crash
Description of problem:

- wasm linker does GC in flush()
- it has the mechanism where it tracks the end index of a bunch of
  ArrayHashMap before flush() and after flush, shrinkRetainingCapacity()
  them to restore them to pre-flush() state
- this includes `functions`, which contains `__divti3`
- flush() notices the call to `__divti3` and calls markFunctionImport(),
  but that function does nothing on a second update because `alive` is
  already set to `true` so it incorrectly skips adding the intrinsic
  back to `functions`

I tried to remember why I thought it was OK to use this `alive` flag
which is state that's not being restored after flush(). If I remember
correctly, I was just leaving the code how it was before, with the plan
to change the data layout after encountering this exact problem.

However, I found a solution that doesn't require changing data layout,
and still takes advantage of the 1-bit-per-symbol data layout.
2025-12-26 19:58:56 -08:00
..
2025-12-23 22:15:10 -08:00
2025-12-23 22:15:10 -08:00
2025-11-04 06:04:30 -05:00
2025-10-29 14:25:51 +01:00
2025-08-29 17:14:26 -07:00