| // Copyright 2019 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. | 
 |  | 
 | // Flags: --wasm-grow-shared-memory --experimental-wasm-threads | 
 |  | 
 | const kNumWorkers = 100; | 
 | const kNumMessages = 50; | 
 |  | 
 | function AllocMemory(initial, maximum = initial) { | 
 |   return new WebAssembly.Memory({initial : initial, maximum : maximum, shared : true}); | 
 | } | 
 |  | 
 | (function RunTest() { | 
 |   let worker = []; | 
 |   for (let w = 0; w < kNumWorkers; w++) { | 
 |     worker[w] = new Worker( | 
 |         `onmessage = | 
 |         function(msg) { | 
 |           msg.memory.grow(1); | 
 |         }`, {type : 'string'}); | 
 |   } | 
 |  | 
 |   for (let i = 0; i < kNumMessages; i++) { | 
 |     let memory = AllocMemory(1, 128); | 
 |     for (let w = 0; w < kNumWorkers; w++) { | 
 |       worker[w].postMessage({memory : memory}); | 
 |     } | 
 |   } | 
 | })(); |