Add separate GC heap tunables#13080
Conversation
Subscribe to Label Actioncc @fitzgen DetailsThis issue or pull request has been labeled: "fuzzing", "wasmtime:api", "wasmtime:config"Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
Label Messager: wasmtime:configIt looks like you are changing Wasmtime's configuration options. Make sure to
DetailsTo modify this label's message, edit the To add new label messages or remove existing label messages, edit the |
Before this commit, the GC heap used a memory with identical tunables as regular Wasm linear memories. After this commit, the GC heap now uses a memory with its own tunables (`gc_heap_reservation`, `gc_heap_guard_size`, `gc_heap_reservation_for_growth`, and `gc_heap_may_move`) so that GC heaps can be configured independently from linear memories. These new GC heap tunables are also exposed as CLI flags and `Config` methods. We also generate pseudorandom values for these tunables in our fuzzing config generator. The pooling allocator uses the same pool for memories and GC heaps, so we validate that if you are using GC and the pooling allocator, then the new tunables must match the memory tunables.
2c290c2 to
24d0484
Compare
|
@alexcrichton okay I created a Mind taking another look? |
|
(Probably easiest to just view the diff against |
Not necessary after fixing the GC heap tunables defaulting behavior
Before this commit, the GC heap used a memory with identical tunables as regular Wasm linear memories.
After this commit, the GC heap now uses a memory with its own tunables (
gc_heap_reservation,gc_heap_guard_size,gc_heap_reservation_for_growth, andgc_heap_may_move) so that GC heaps can be configured independently from linear memories. These new GC heap tunables are also exposed as CLI flags andConfigmethods. We also generate pseudorandom values for these tunables in our fuzzing config generator.The pooling allocator uses the same pool for memories and GC heaps, so we validate that if you are using GC and the pooling allocator, then the new tunables must match the memory tunables.
cc #11256