// Copyright 2017 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: --noexperimental-wasm-threads --allow-natives-syntaxload("test/mjsunit/wasm/wasm-module-builder.js");functioninstantiateModuleWithThreads(){// Build a WebAssembly module which uses threads-features.constbuilder=newWasmModuleBuilder();constshared=true;builder.addMemory(2,10,false,shared);builder.addFunction('main',kSig_i_ii).addBody([kExprGetLocal,0,kExprGetLocal,1,kAtomicPrefix,kExprI32AtomicAdd,2,0]).exportFunc();returnbuilder.instantiate();}// Disable WebAssembly threads initially.%SetWasmThreadsEnabled(false);assertThrows(instantiateModuleWithThreads,WebAssembly.CompileError);// Enable WebAssembly threads.%SetWasmThreadsEnabled(true);assertInstanceof(instantiateModuleWithThreads(),WebAssembly.Instance);// Disable WebAssembly threads.%SetWasmThreadsEnabled(false);assertThrows(instantiateModuleWithThreads,WebAssembly.CompileError);