mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-05-01 09:52:19 +00:00
* Rename memory instructions as proposed by the bulk-memory-operations spec. * Rename memory manager functions to memory.* as well * Remove automatic inlining of constant globals (Binaryen does this now) * Improve 'const' enum compatibility * Improve module-level export generation * Enable the inline decorator for constant variables * Add ERROR, WARNING and INFO macros that emit a user-defined diagnostic * Reintroduce builtin decorator so these can appear anywhere in stdlib again * Inline isNaN and isFinite by default * Make an interface around gc.* similar to memory.* * Emit an error when trying to inline a mutable variable * Slim down CI stages * Add a more convenient tracing utility for debugging * Implement some prequesites for an eventual bundled GC
19 lines
517 B
JavaScript
19 lines
517 B
JavaScript
var binaryen = require("binaryen");
|
|
|
|
var mod = new binaryen.Module();
|
|
|
|
mod.addGlobal("testGlobal", binaryen.i32, false, mod.i32.const(2));
|
|
var funcType = mod.addFunctionType("i", binaryen.i32, []);
|
|
mod.addFunction("test", funcType, [],
|
|
mod.get_global("testGlobal", binaryen.i32)
|
|
);
|
|
mod.addFunctionExport("test", "test");
|
|
|
|
binaryen.setOptimizeLevel(4);
|
|
binaryen.setShrinkLevel(0);
|
|
binaryen.setDebugInfo(false);
|
|
mod.optimize();
|
|
if (!mod.validate())
|
|
console.log("-> does not validate");
|
|
console.log(mod.emitText());
|