| // Copyright 2016 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: --expose-wasm |
| |
| // Ensure checked in wasm binaries used by integration tests from v8 hosts |
| // (such as chromium) are up to date. |
| |
| (function print_incrementer() { |
| if (true) return; // remove to regenerate the module |
| |
| load('test/mjsunit/wasm/wasm-constants.js'); |
| load('test/mjsunit/wasm/wasm-module-builder.js'); |
| |
| var module = new WasmModuleBuilder(); |
| module.addFunction(undefined, kSig_i_i) |
| .addBody([kExprGetLocal, 0, kExprI32Const, 1, kExprI32Add]) |
| .exportAs("increment"); |
| |
| var buffer = module.toBuffer(true); |
| var view = new Uint8Array(buffer); |
| |
| print("const unsigned char module[] = {"); |
| for (var i = 0; i < buffer.byteLength; i++) { |
| print(" " + view[i] + ","); |
| } |
| print("};"); |
| })(); |
| |
| (function ensure_incrementer() { |
| var buff = readbuffer("test/mjsunit/wasm/incrementer.wasm"); |
| var mod = new WebAssembly.Module(buff); |
| var inst = new WebAssembly.Instance(mod); |
| var inc = inst.exports.increment; |
| assertEquals(3, inc(2)); |
| }()) |