Commit Graph

48 Commits

Author SHA1 Message Date
f3aa762ccb Rebuild examples 2019-03-01 00:09:06 +01:00
0c64f21250 Rework resolver (#489)
* Rework IR and resolver to use nested lookup tables
* Integrate types into IR
* Make components prefer IR, slimmed down AST
* Implement `export *`
* Add `@lazy` annotation and remove `--noTreeShaking`
* Add `@start` annotation and remove magic `main`
* Related refactoring, cleanup and docs
2019-02-21 00:11:22 +01:00
2ec89ee669 Add typings for second argment of demangle (#385) 2019-01-09 13:18:17 +01:00
20f4092eb2 Update Binaryen and other dependencies; Update dist files 2019-01-09 13:02:47 +01:00
86c084a519 Use a symbol for the this pointer on wrapped loader classes, see #363 2018-12-07 17:55:31 +01:00
429435c5b1 Improve demangling of class methods when using the loader (#363) 2018-12-07 17:20:28 +01:00
6f3209e6c6 Fix imported memory fallback and add common stdlib imports to loader 2018-11-11 10:44:09 +01:00
4f95dce6e2 Do not emit debug info by default
This basically flips the --noDebug flag to become a --debug flag, so some optimizations, like inlining, aren't skipped by default, which might be unexpected.
2018-11-09 12:28:10 +01:00
2ecec660d2 Mention exporting memory utilities more prominently in loader readme, fixes #318 2018-11-08 11:54:36 +01:00
b924c152c5 Fix fallback to imported memory in loader, fixes #322 2018-11-08 08:23:00 +01:00
2bdc2a72f1 Use stack IR when emitting text format (#312) 2018-11-08 08:04:24 +01:00
7135af36bd Update linting instructions to reference new script name (#320) 2018-11-07 20:44:38 +01:00
4683599a82 Improve loader function table handling 2018-10-20 15:40:23 +02:00
086d96b299 Fix variable arguments handling with setargc in loader 2018-10-11 17:55:11 +02:00
be5073aba5 Update parse/lint dependencies 2018-10-11 09:04:34 +02:00
f7c734789e Update Binaryen to latest; Various fixes 2018-10-11 08:49:08 +02:00
b54a97c0fe Fix a typo and a signature in loader README 2018-10-11 08:22:20 +02:00
af968177c8 Fix use of instantiateStreaming's result object in new loader, see #295 2018-10-04 17:13:01 +02:00
e22524fab8 Update loader to support environments where 'new WebAssembly.Instance' is limited, see #295 2018-10-04 13:16:39 +02:00
59e2a63b83 Add table section support to lib/parse
Originally part of #288
2018-10-03 03:30:00 +02:00
9c770d801e Add initial newArray and getArray helpers to loader
Essentially creates an unmanaged typed array in memory that one can work with and free again respectively obtain from the AS side. No support for GC or generic arrays yet, and is likely to change substentially once WASM GC becomes a thing.
2018-09-18 15:17:44 +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
c636eddcd2 Legalize casting object literals to classes when linting 2018-07-14 15:00:07 +02:00
9c16363796 Initial external decorator for annotating explicit import names; Use file name as default module name in imports; Emit empty memory if there are no static segments; Update TLSF and examples accordingly 2018-06-28 01:44:32 +02:00
27e61f8f67 Remove noMemory option; Omit 'start' if 'main' is present; Unwrap more unnecessary blocks 2018-06-27 19:03:39 +02:00
e18165bbbc Remove chalk dependency and replace it with something simpler, fixes #138 2018-06-12 18:34:39 +02:00
f2eb64c0fd Add conditional BigInt support to loader & minor README fixes 2018-06-11 15:18:13 +02:00
c9ed03028d Add CLI definitions; CLI restructure 2018-05-28 18:55:51 +02:00
e049e72171 Fix a few issues with TSD generation; Update Binaryen 2018-05-21 10:31:00 +02:00
98a0aa863d Initial loader that unifies utils and demangle 2018-05-19 13:38:47 +02:00
d678807286 Initial demangler implementation, i.e. for use with TypeScript definitions 2018-05-17 11:59:35 +02:00
06f99406be Experimenting with inline-assembler-ish explicit builtins
Starting with explicit loads and stores as part of the respective type namespaces. Might become handy for use with portable code, because these can be polyfilled, while load<T> and store<T> can't.
2018-04-27 00:08:41 +02:00
5e20bed09a Unify / simplify asc API (in browsers) 2018-04-04 14:39:40 +02:00
acfef646ef Update dist files; Also parse name and source mapping sections in lib/parse 2018-04-04 03:41:04 +02:00
5823e35f37 Progress and a tiny WASM binary parser 2018-04-03 23:56:48 +02:00
38a025950e Support parameter properties; Minor formatting 2018-03-25 00:21:58 +01:00
faac3c31eb AST cleanup; Definition generators scaffolding 2018-03-17 01:37:05 +01:00
507482adb2 Pull more (possibly) repeated loads to locals 2018-03-14 00:27:35 +01:00
081ac768ae Give some love to the linter 2018-03-13 14:03:57 +01:00
23a7db4dc3 Ensure consistent variable modifiers
'var' is a distinct local or mutable global, 'let' a shared local
2018-03-13 02:32:10 +01:00
423533c6b0 Implement function types / indirect calls / trampolines (#39) 2018-03-12 14:06:39 +01:00
8dc517e352 Cleanup; Initial tslint integration 2018-02-25 00:13:39 +01:00
77e49bbd95 Replace more .wast references with .wat 2018-02-19 19:16:16 +01:00
41c0f2c6c3 Test formatting; Wire webpack loader to asc 2018-02-05 17:10:14 +01:00
4736227879 Update binaryen to latest nightly; Source map support 2018-02-02 03:07:54 +01:00
1995bf9eb4 Parser fixes; Lib updates 2018-01-29 22:36:07 +01:00
74498852f0 Utilities and an initial webpack loader 2018-01-29 17:12:02 +01:00