da45d855de
Bug: chromium:1217573 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Change-Id: Ida9cabc4f46f0ad4f35e2b97f5803cc7c30fb972 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2947857 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#75058}
20 lines
686 B
JavaScript
20 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.
|
|
|
|
const barrier_arr = new Int32Array(new SharedArrayBuffer(4));
|
|
function onmessage([data_arr, barrier_arr]) {
|
|
Atomics.store(barrier_arr, 0, 1);
|
|
for (let nr = 1; nr < 1000; ++nr) {
|
|
for (let idx = 0; idx < data_arr.length; ++idx) {
|
|
data_arr[idx] = nr;
|
|
}
|
|
}
|
|
}
|
|
|
|
const worker = new Worker(`onmessage = ${onmessage}`, {type: 'string'});
|
|
const data_arr = new Int32Array(new SharedArrayBuffer(1024));
|
|
worker.postMessage([data_arr, barrier_arr]);
|
|
while (Atomics.load(barrier_arr) == 0) { }
|
|
data_arr.reverse();
|