83 Commits

Author SHA1 Message Date
Max Graey
6a1ffb8e2f Update example binary sizes (#501) 2019-02-22 15:06:34 +01:00
Max Graey
206e4c4565 Improve n-body bench env (#457) 2019-02-21 02:14:35 +01:00
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
Max Graey
d82995c686 Improve mandelbort example (#308) 2019-01-09 17:26:31 +01:00
dcode
20f4092eb2 Update Binaryen and other dependencies; Update dist files 2019-01-09 13:02:47 +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
Daniel Wirtz
2bdc2a72f1
Use stack IR when emitting text format (#312) 2018-11-08 08:04:24 +01:00
Max Graey
afb8fe7762 Update Rust n-body build (#294) 2018-10-26 18:25:09 +02:00
dcodeIO
87ec6c59ce Update examples 2018-10-11 09:09:56 +02:00
Daniel Wirtz
f7c734789e
Update Binaryen to latest; Various fixes 2018-10-11 08:49:08 +02:00
dcodeIO
a1e2071da6 Fix n-body visualization 2018-07-22 02:55:46 +02:00
Max Graey
813d2e33c8 Update n-body sources and binary for rust. Add bench results (#172) 2018-07-21 14:11:39 +02:00
dcodeIO
26e46f6f86 Reintroduce builtin decorator so these can appear anywhere in stdlib again
Avoids wrapping an undocumented function within 'memory.size' for example.
2018-07-19 02:10:04 +02:00
dcodeIO
a1b75b69b7 Rename memory instructions; Rework constant handling 2018-07-18 23:49:32 +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
188b4e48ce Try parsing signatures only if node is callable, see #149; Minor refactoring 2018-06-24 01:04:24 +02:00
dcodeIO
9d25f78fc1 Implement 'this' context parsing and serialization; Other minor improvements 2018-05-30 16:22:56 +02:00
dcodeIO
e049e72171 Fix a few issues with TSD generation; Update Binaryen 2018-05-21 10:31:00 +02:00
Max Graey
25cf51833d Improve rust build of the n-body example (#112) 2018-05-14 17:49:39 +02:00
dcodeIO
dae9880428 Fix and also unify ugc example, see #101 2018-05-09 15:22:38 +02:00
dcodeIO
2f8f477ab0 Update dist files; Unify some examples 2018-05-06 01:32:58 +02:00
Daniel Wirtz
50f6c1c460
Update internal ABI to zero/sign-extend where necessary only (#87) 2018-05-06 00:00:54 +02:00
Max Graey
8997561670 Update dependencies (#93) 2018-05-03 18:25:32 +02:00
Max Graey
061976ee0c Add rust n-body version for comparison (#88) 2018-05-03 02:12:03 +02:00
dcodeIO
8b5d1d7f74 Minor refactoring; Fix n-body TS build 2018-04-28 18:07:20 +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
fe9d53329d Fix asinit tsconfig.json generation
This used to extend the .d.ts file instead of the base .json, which was wrong
2018-04-25 22:54:55 +02:00
dcodeIO
ab08269276 Clarify the use of RGBA vs ABGR in the game-of-life example 2018-04-25 22:39:51 +02:00
dcodeIO
6d6d1dddcf Improve inlining where locals can be aliased; Add a crude mechanism for explicit unchecked array accesses
The `unchecked` builtin should be handled with ultimate care and it would be a lot better if there'd be a mechanism doing this automatically.
2018-04-25 05:04:35 +02:00
dcodeIO
391db28fe2 Always try to eliminate branches if tree-shaking is enabled 2018-04-24 23:11:11 +02:00
dcodeIO
63aa648ace Slim down indexed access as far as currently possible
Interestingly, the same code written as statements is significantly slower. See notes.
2018-04-23 23:57:15 +02:00
dcodeIO
de98a19eb8 Implement dynamic array literals 2018-04-23 22:49:04 +02:00
dcodeIO
88b00c1689 Use the element type annotated on the setter when doing indexed sets 2018-04-23 16:17:33 +02:00
dcodeIO
78a3dcfaf0 Compare n-body to asmjs and js 2018-04-23 15:04:04 +02:00
dcodeIO
80d104201c Add ol' N-body benchmark to examples fwiw 2018-04-23 02:43:03 +02:00
dcodeIO
2ff1bb745a Fix some diagnostic issues when skipping invalid statements, see #80; Make game-of-life example somewhat interactive; Update dist files 2018-04-22 23:13:02 +02:00
dcodeIO
bde13b12cf Some final tweaks to the examples
I promise
2018-04-20 18:56:51 +02:00
dcodeIO
4eade0f319 Make the mandelbrot example a bit more fun as well 2018-04-20 15:36:01 +02:00
dcodeIO
b53b3e08ec Add some smoothing to mandelbrot example 2018-04-20 05:06:05 +02:00
dcodeIO
9cd3304e13 Make the game-of-life example a bit more interesting
This moves the entire image buffer to WASM that now also applies some fading.
2018-04-19 23:16:03 +02:00
dcodeIO
18ef7c1932 Also link to the source from the demos 2018-04-19 18:53:01 +02:00
dcodeIO
7d3fb86691 Add demo links to README 2018-04-19 17:49:44 +02:00
dcodeIO
485c3fd9b2 Add mandelbrot example; Update game-of-life example 2018-04-19 17:32:23 +02:00
dcodeIO
5a2f834c0d Fix game-of-life example inconsistencies; Fix ternary expression issues in void contexts and variable statements; Simplify HEAP_BASE handling 2018-04-18 15:12:33 +02:00
Prince Mathew
89e8de5d82 Enable open-in-browser in the Game Of Life example (#69) 2018-04-07 19:01:10 +02:00
dcodeIO
49f4d3dff1 Eliminate @builtin decorator for compatibility with TS 2018-03-21 16:29:08 +01:00
Daniel Wirtz
423533c6b0
Implement function types / indirect calls / trampolines (#39) 2018-03-12 14:06:39 +01:00
dcodeIO
4633fdab96 Update binary expression inference, see #35; Update dependencies 2018-03-01 19:42:07 +01:00
dcodeIO
77e49bbd95 Replace more .wast references with .wat 2018-02-19 19:16:16 +01:00