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