• Camillo Bruni's avatar
    [d8] Fix leak detection for DynamicImportData from Modules · 0316b4fc
    Camillo Bruni authored
    1) Since we collect a stack trace for unhandled promises we might end up
    invoking code right before the shutdown phase.
    2) Any dynamic module import that happens in this phase will enqueue a
    microtask job with a freshly allocated DynamicImportData object. It
    only gets deleted when fully emptying the microtask queue.
    3) Since we're exiting we might end up with a non-empty microtask queue.
    4) LSAN detects this as a leak on shutdown.
    
    To make LSAN happy again d8 now keeps track of DynamicImportData to
    free them on destructing PerIsolateData.
    
    Bug: chromium:1158223
    Change-Id: I9bb21f71bffc75a0d5f4ffc5bf0727c7b4cbab88
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2599755
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72008}
    0316b4fc
d8.cc 160 KB