• machenbach's avatar
    Revert of [wasm] reuse the first compiled module (patchset #12 id:220001 of... · 359a00bf
    machenbach authored
    Revert of [wasm] reuse the first compiled module (patchset #12 id:220001 of https://codereview.chromium.org/2305903002/ )
    
    Reason for revert:
    mac gc stress failures:
    https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/8341
    
    Original issue's description:
    > [wasm] reuse the first compiled module.
    >
    > This change avoids needing to keep around an unused compiled
    > module. Instead, the result of compiling the wasm bytes is
    > given to the first instance. The module object and that instance object
    > point to the same compiled module. Instances are, then, cloned from
    > the compiled module the module object points to. When an instance is
    > collected, we make sure that the module object still has a clone
    > available, and, if the last instance is GC-ed, we also reset the compiled
    > module so that it does not reference its heap, so that it (==heap) may
    > be collected.
    >
    > This is achieved by linking the clones in a double-linked list and
    > registering a finalizer for each. When we create an instance, we tie it
    > in the front of the list, making the module object point to it (O(1)). When
    > the finalizer is called, we relink the list over the dying object (O(1)). The
    > costliest operation is finalizing the last instance, since we need to visit
    > all wasm functions and reset heap references.
    >
    > BUG=v8:5316
    >
    > Committed: https://crrev.com/01f5af515728aebe6c5246f4f7dd6c573e8748af
    > Cr-Commit-Position: refs/heads/master@{#39153}
    
    TBR=bradnelson@chromium.org,verwaest@chromium.org,vogelheim@chromium.org,yangguo@chromium.org,mtrofin@chromium.org
    # Skipping CQ checks because original CL landed less than 1 days ago.
    NOPRESUBMIT=true
    NOTREECHECKS=true
    NOTRY=true
    BUG=v8:5316
    
    Review-Url: https://codereview.chromium.org/2306403002
    Cr-Commit-Position: refs/heads/master@{#39154}
    359a00bf
wasm-module.h 18 KB