blob: 29223234475aa928af7c9c965e4bb4ca9156ee2f [file] [log] [blame]
import * as assert from '../assert.js';
import Builder from '../Builder.js';
const builder = new Builder();
builder.Type().End()
.Import()
.Global().I32("imp", "global", "immutable").End()
.End()
.Function().End()
.Global().I32(5, "mutable").End()
.Export()
.Function("getGlobal")
.End()
.Code()
// GetGlobal
.Function("getGlobal", { params: [], ret: "i32" })
.GetGlobal(0)
.End()
.End()
const bin = builder.WebAssembly();
bin.trim();
const module = new WebAssembly.Module(bin.get());
const instance = new WebAssembly.Instance(module, { imp: { global: 5 } });
assert.eq(instance.exports.getGlobal(), 5);