• Clemens Backes's avatar
    [wasm] Avoid code modifications during code freeing · d38ea7d9
    Clemens Backes authored
    Code freeing can happen at any point in time where a GC might be
    triggered. Hence it's difficult to ensure that no other
    {CodeSpaceWriteScope} is already open at that point. The way these scope
    objects are implemented forbids multiple scopes for different modules
    though.
    To solve this, this CL just avoids the code zapping in
    {WasmCodeAllocator::FreeCode}, which is the only place that actually
    writes to the code space. Without this, we do not need the
    {CodeSpaceWriteScope} in {NativeModule::FreeCode} any more.
    
    R=jkummerow@chromium.org
    
    Bug: v8:11974
    Change-Id: I1f01979e1eaea6c311c9ad568d605aabeef3bfc4
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3081522
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#76174}
    d38ea7d9
wasm-code-manager.cc 99.4 KB