Bug 170748

Summary: WebAssembly: improve GC for fast memory
Product: WebKit Reporter: JF Bastien <jfbastien>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: fpizlo, jfbastien, keith_miller, mark.lam, msaboff, saam
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 170628    
Bug Blocks: 159775    

Description JF Bastien 2017-04-11 13:58:17 PDT
As part of bug #170628 I'm tuning how we call GC for fast memories: running the GC could free some up. The code currently calls collectAllGarbage in the current VM.

We could be smarter though:

1. We pass in the *current* VM to call a GC on. Nothing tells us that the current VM is holding onto a fast memory, it could be any VM. Should we instead iterate all of them, and GC the ones which are using wasm?
2. collectSync(Full) and custom eager destruction of wasm memories could be better. That would mean that we have a separate space where we track all fast memories, so we can sweep the dead ones without sweeping everything else.