• Clemens Backes's avatar
    Reland: [wasm] Check correctness of thread-local write protection · 1c0cca0f
    Clemens Backes authored
    The fix landed as a separate CL: https://crrev.com/c/3081522
    This is an unmodified reland.
    
    Original description:
    We make an undocumented assumption in {CodeSpaceWriteScope} that a
    single thread will only work on one module at a time. If this is
    violated, the thread-local {code_space_write_nesting_level_} would
    prevent the second module from being switched to writable.
    
    This CL adds a second thread local (in debug only) to check that if
    there is already a {CodeSpaceWriteScope} open that it contains the same
    {NativeModule} as any nested scope.
    
    R=jkummerow@chromium.org
    
    Bug: v8:11974
    Cq-Include-Trybots: luci.v8.try:v8_linux_gc_stress_dbg_ng
    Cq-Include-Trybots: luci.v8.try:v8_mac64_gc_stress_dbg_ng
    Change-Id: Id827b6ca472f695e4500584349aba159aa07eed1
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3080578
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#76177}
    1c0cca0f
code-space-access.cc 2.79 KB