Commit Graph

12 Commits

Author SHA1 Message Date
2bdc2a72f1 Use stack IR when emitting text format (#312) 2018-11-08 08:04:24 +01:00
f7c734789e Update Binaryen to latest; Various fixes 2018-10-11 08:49:08 +02:00
16d1a833dd Always add a null function at table index zero
This allows function references (a table index internally) to be nullable
2018-09-17 01:48:35 +02:00
dc0f271fc2 Initial GC integration (#196) 2018-08-02 18:23:02 +02:00
a1b75b69b7 Rename memory instructions; Rework constant handling 2018-07-18 23:49:32 +02:00
c6ec5e2832 Utilize Binaryen's -O4
When specifying -O3 or -Oz, asc now automatically increases the optimize level to 4, then including costly non-LLVM optimizations for blocky code, in turn achieving similar results as an LLVM-based generator.
2018-06-09 14:05:33 +02:00
73417a9a06 Move 'abort' out of builtins and make it overridable
Now defaults to 'env.abort' as imported in lib/env.ts, but can be overridden through '--use abort=someThingElseOrNothingAtAll'
2018-05-21 18:48:29 +02:00
6c0a5c47d9 Update Binaryen and take care of WebAssembly/binaryen#1547 2018-05-14 16:55:55 +02:00
4026c087fd Export the trampoline and provide a helper for functions that take optional arguments 2018-04-17 16:04:29 +02:00
19a616dd96 Support indirect calls with omitted arguments 2018-03-24 09:46:22 +01:00
2738eee9cd Call trampolines with the actual number of provided operands
When calling indirectly, the number of required operands might not be known at compile time and providing the actual number of operands instead solves this.
2018-03-23 15:00:09 +01:00
423533c6b0 Implement function types / indirect calls / trampolines (#39) 2018-03-12 14:06:39 +01:00