47 Commits

Author SHA1 Message Date
Daniel Wirtz
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
kazuya kawaguchi
2ec89ee669 Add typings for second argment of demangle (#385) 2019-01-09 13:18:17 +01:00
dcode
20f4092eb2 Update Binaryen and other dependencies; Update dist files 2019-01-09 13:02:47 +01:00
dcodeIO
86c084a519 Use a symbol for the this pointer on wrapped loader classes, see #363 2018-12-07 17:55:31 +01:00
kazuya kawaguchi
429435c5b1 Improve demangling of class methods when using the loader (#363) 2018-12-07 17:20:28 +01:00
dcodeIO
6f3209e6c6 Fix imported memory fallback and add common stdlib imports to loader 2018-11-11 10:44:09 +01:00
dcodeIO
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
dcodeIO
2ecec660d2 Mention exporting memory utilities more prominently in loader readme, fixes #318 2018-11-08 11:54:36 +01:00
dcodeIO
b924c152c5 Fix fallback to imported memory in loader, fixes #322 2018-11-08 08:23:00 +01:00
Daniel Wirtz
2bdc2a72f1
Use stack IR when emitting text format (#312) 2018-11-08 08:04:24 +01:00
Linus Unnebäck
7135af36bd Update linting instructions to reference new script name (#320) 2018-11-07 20:44:38 +01:00
dcodeIO
4683599a82 Improve loader function table handling 2018-10-20 15:40:23 +02:00
dcodeIO
086d96b299 Fix variable arguments handling with setargc in loader 2018-10-11 17:55:11 +02:00
dcodeIO
be5073aba5 Update parse/lint dependencies 2018-10-11 09:04:34 +02:00
Daniel Wirtz
f7c734789e
Update Binaryen to latest; Various fixes 2018-10-11 08:49:08 +02:00
dcodeIO
b54a97c0fe Fix a typo and a signature in loader README 2018-10-11 08:22:20 +02:00
dcodeIO
af968177c8 Fix use of instantiateStreaming's result object in new loader, see #295 2018-10-04 17:13:01 +02:00
dcodeIO
e22524fab8 Update loader to support environments where 'new WebAssembly.Instance' is limited, see #295 2018-10-04 13:16:39 +02:00
dcodeIO
59e2a63b83 Add table section support to lib/parse
Originally part of #288
2018-10-03 03:30:00 +02:00
dcodeIO
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
Daniel Wirtz
dc0f271fc2
Initial GC integration (#196) 2018-08-02 18:23:02 +02:00
dcodeIO
a1b75b69b7 Rename memory instructions; Rework constant handling 2018-07-18 23:49:32 +02:00
dcodeIO
c636eddcd2 Legalize casting object literals to classes when linting 2018-07-14 15:00:07 +02:00
dcodeIO
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
dcodeIO
27e61f8f67 Remove noMemory option; Omit 'start' if 'main' is present; Unwrap more unnecessary blocks 2018-06-27 19:03:39 +02:00
dcodeIO
e18165bbbc Remove chalk dependency and replace it with something simpler, fixes #138 2018-06-12 18:34:39 +02:00
dcodeIO
f2eb64c0fd Add conditional BigInt support to loader & minor README fixes 2018-06-11 15:18:13 +02:00
dcodeIO
c9ed03028d Add CLI definitions; CLI restructure 2018-05-28 18:55:51 +02:00
dcodeIO
e049e72171 Fix a few issues with TSD generation; Update Binaryen 2018-05-21 10:31:00 +02:00
dcodeIO
98a0aa863d Initial loader that unifies utils and demangle 2018-05-19 13:38:47 +02:00
dcodeIO
d678807286 Initial demangler implementation, i.e. for use with TypeScript definitions 2018-05-17 11:59:35 +02:00
dcodeIO
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
dcodeIO
5e20bed09a Unify / simplify asc API (in browsers) 2018-04-04 14:39:40 +02:00
dcodeIO
acfef646ef Update dist files; Also parse name and source mapping sections in lib/parse 2018-04-04 03:41:04 +02:00
dcodeIO
5823e35f37 Progress and a tiny WASM binary parser 2018-04-03 23:56:48 +02:00
dcodeIO
38a025950e Support parameter properties; Minor formatting 2018-03-25 00:21:58 +01:00
dcodeIO
faac3c31eb AST cleanup; Definition generators scaffolding 2018-03-17 01:37:05 +01:00
dcodeIO
507482adb2 Pull more (possibly) repeated loads to locals 2018-03-14 00:27:35 +01:00
dcodeIO
081ac768ae Give some love to the linter 2018-03-13 14:03:57 +01:00
dcodeIO
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
Daniel Wirtz
423533c6b0
Implement function types / indirect calls / trampolines (#39) 2018-03-12 14:06:39 +01:00
dcodeIO
8dc517e352 Cleanup; Initial tslint integration 2018-02-25 00:13:39 +01:00
dcodeIO
77e49bbd95 Replace more .wast references with .wat 2018-02-19 19:16:16 +01:00
dcodeIO
41c0f2c6c3 Test formatting; Wire webpack loader to asc 2018-02-05 17:10:14 +01:00
dcodeIO
4736227879 Update binaryen to latest nightly; Source map support 2018-02-02 03:07:54 +01:00
dcodeIO
1995bf9eb4 Parser fixes; Lib updates 2018-01-29 22:36:07 +01:00
dcodeIO
74498852f0 Utilities and an initial webpack loader 2018-01-29 17:12:02 +01:00