diff options
Diffstat (limited to 'deps/v8/test/mjsunit/regress/wasm/regress-917588b.js')
-rw-r--r-- | deps/v8/test/mjsunit/regress/wasm/regress-917588b.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/regress/wasm/regress-917588b.js b/deps/v8/test/mjsunit/regress/wasm/regress-917588b.js new file mode 100644 index 0000000000..9d461cfd84 --- /dev/null +++ b/deps/v8/test/mjsunit/regress/wasm/regress-917588b.js @@ -0,0 +1,55 @@ +// 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. + +load('test/mjsunit/wasm/wasm-constants.js'); +load('test/mjsunit/wasm/wasm-module-builder.js'); + +const builder = new WasmModuleBuilder(); +const sig0 = builder.addType(makeSig([kWasmF32], [kWasmI32])); +const sig1 = builder.addType(makeSig([kWasmI64, kWasmI32, kWasmI64, kWasmF32, kWasmI64], [kWasmF32])); +const sig2 = builder.addType(makeSig([kWasmF32], [kWasmF32])); +// Generate function 1 (out of 3). +builder.addFunction(undefined, sig0).addBody([kExprI32Const, 0x00]); +// Generate function 2 (out of 3). +builder.addFunction(undefined, sig1) + .addBody([ + // signature: f_lilfl + kExprBlock, kWasmF32, // @1 f32 + kExprI32Const, 0x00, + kExprIf, kWasmStmt, // @5 + kExprLoop, kWasmStmt, // @7 + kExprBlock, kWasmI32, // @9 i32 + kExprF32Const, 0x00, 0x00, 0x80, 0xc1, + kExprF32Const, 0x00, 0x00, 0x80, 0x45, + kExprCallFunction, 0x00, // function #0: i_f + kExprBrIf, 0x03, // depth=3 + kExprDrop, + kExprI32Const, 0xd8, 0x00, + kExprEnd, // @29 + kExprBrIf, 0x00, // depth=0 + kExprEnd, // @32 + kExprF32Const, 0x00, 0x00, 0x80, 0x3f, + kExprF32Const, 0x00, 0x00, 0x80, 0xc6, + kExprBlock, kWasmI32, // @43 i32 + kExprF32Const, 0x00, 0x00, 0x80, 0x3f, + kExprCallFunction, 0x02, // function #2: f_f + kExprDrop, + kExprI32Const, 0x68, + kExprEnd, // @55 + kExprBrIf, 0x01, // depth=1 + kExprI32Const, 0x00, + kExprSelect, + kExprDrop, + kExprUnreachable, + kExprElse, // @63 + kExprNop, + kExprEnd, // @65 + kExprF32Const, 0x00, 0x00, 0x69, 0x43, + kExprEnd // @71 +]); +// Generate function 3 (out of 3). +builder.addFunction(undefined, sig2).addBody([ + kExprF32Const, 0x00, 0x00, 0x80, 0x3f +]); +builder.instantiate(); |