c37c4e8adf
Bug: chromium:1232620 Change-Id: Ie19fe8839966a1abb3d0a01fee1fb4b105fb6bf1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3070702 Commit-Queue: Clemens Backes <clemensb@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#76085}
18 lines
686 B
JavaScript
18 lines
686 B
JavaScript
// Copyright 2021 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// Try to catch TSAN issues with access to SharedArrayBuffer.
|
|
|
|
function onmessage([buf]) {
|
|
const arr = new Int32Array(buf);
|
|
for (let val = 1; val < 100; ++val) arr.fill(val);
|
|
}
|
|
const arr = new Int32Array(new SharedArrayBuffer(4));
|
|
const worker = new Worker(`onmessage = ${onmessage}`, {type: 'string'});
|
|
worker.postMessage([arr.buffer]);
|
|
// Wait until the worker starts filling the array.
|
|
while (Atomics.load(arr) == 0) { }
|
|
// Try setting a value on the shared array buffer that races with the fill.
|
|
arr.set(arr);
|