// 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.load('test/mjsunit/wasm/wasm-module-builder.js');// This test checks for accidental sign extension. The Wasm spec says we do// arbitrary precision unsigned arithmetic to compute the memory address,// meaning this test should do 0xfffffffc + 8, which is 0x100000004 and out of// bounds. However, if we interpret 0xfffffffc as -4, then the result is 4 and// succeeds erroneously.(function(){letbuilder=newWasmModuleBuilder();builder.addMemory(1,1,false);builder.addFunction('test',kSig_v_v).addBody([kExprI32Const,0x7c,// address = -4kExprI32Const,0,kExprI32StoreMem,0,8,// align = 0, offset = 8]).exportFunc();letmodule=builder.instantiate();assertTraps(kTrapMemOutOfBounds,module.exports.test);})();