Stream: git-wasmtime

Topic: wasmtime / PR #14627 fix: don't leak GC roots in `Table::...


view this post on Zulip Wasmtime GitHub notifications bot (Oct 09 2026 at 16:34):

rvolosatovs opened PR #14627 from rvolosatovs:fix/copy-gc-roots to bytecodealliance:main:

Table::copy copies each element by reading it with Table::get and writing it with Table::set. For GC reference tables, Table::get creates a LIFO Rooted in the caller's current root scope. Nothing in Table::copy released those roots, so when it was called on a plain &mut Store rather than inside a RootScope, every copied object stayed rooted until the store was dropped. Repeated copies grew the root set and kept the GC heap from shrinking across collections.

Enter a GC LIFO scope around each element's get/set pair and exit it afterwards, so the temporary root is released before the next element is copied.

view this post on Zulip Wasmtime GitHub notifications bot (Oct 09 2026 at 16:34):

rvolosatovs requested pchickey for a review on PR #14627.

view this post on Zulip Wasmtime GitHub notifications bot (Oct 09 2026 at 16:34):

rvolosatovs requested wasmtime-core-reviewers for a review on PR #14627.

view this post on Zulip Wasmtime GitHub notifications bot (Oct 09 2026 at 16:37):

rvolosatovs has enabled auto merge for PR #14627.

view this post on Zulip Wasmtime GitHub notifications bot (Oct 09 2026 at 16:54):

:thumbs_up: alexcrichton submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Oct 09 2026 at 16:58):

rvolosatovs added PR #14627 fix: don't leak GC roots in Table::copy to the merge queue

view this post on Zulip Wasmtime GitHub notifications bot (Oct 09 2026 at 17:32):

:check: rvolosatovs merged PR #14627.

view this post on Zulip Wasmtime GitHub notifications bot (Oct 09 2026 at 17:32):

rvolosatovs removed PR #14627 fix: don't leak GC roots in Table::copy from the merge queue


Last updated: Oct 11 2026 at 04:10 UTC