Commit Graph

63 Commits

Author SHA1 Message Date
dae9880428 Fix and also unify ugc example, see #101 2018-05-09 15:22:38 +02:00
2f8f477ab0 Update dist files; Unify some examples 2018-05-06 01:32:58 +02:00
50f6c1c460 Update internal ABI to zero/sign-extend where necessary only (#87) 2018-05-06 00:00:54 +02:00
8997561670 Update dependencies (#93) 2018-05-03 18:25:32 +02:00
061976ee0c Add rust n-body version for comparison (#88) 2018-05-03 02:12:03 +02:00
8b5d1d7f74 Minor refactoring; Fix n-body TS build 2018-04-28 18:07:20 +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
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
ab08269276 Clarify the use of RGBA vs ABGR in the game-of-life example 2018-04-25 22:39:51 +02:00
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
391db28fe2 Always try to eliminate branches if tree-shaking is enabled 2018-04-24 23:11:11 +02:00
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
de98a19eb8 Implement dynamic array literals 2018-04-23 22:49:04 +02:00
88b00c1689 Use the element type annotated on the setter when doing indexed sets 2018-04-23 16:17:33 +02:00
78a3dcfaf0 Compare n-body to asmjs and js 2018-04-23 15:04:04 +02:00
80d104201c Add ol' N-body benchmark to examples fwiw 2018-04-23 02:43:03 +02:00
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
bde13b12cf Some final tweaks to the examples
I promise
2018-04-20 18:56:51 +02:00
4eade0f319 Make the mandelbrot example a bit more fun as well 2018-04-20 15:36:01 +02:00
b53b3e08ec Add some smoothing to mandelbrot example 2018-04-20 05:06:05 +02:00
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
18ef7c1932 Also link to the source from the demos 2018-04-19 18:53:01 +02:00
7d3fb86691 Add demo links to README 2018-04-19 17:49:44 +02:00
485c3fd9b2 Add mandelbrot example; Update game-of-life example 2018-04-19 17:32:23 +02:00
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
89e8de5d82 Enable open-in-browser in the Game Of Life example (#69) 2018-04-07 19:01:10 +02:00
49f4d3dff1 Eliminate @builtin decorator for compatibility with TS 2018-03-21 16:29:08 +01:00
423533c6b0 Implement function types / indirect calls / trampolines (#39) 2018-03-12 14:06:39 +01:00
4633fdab96 Update binary expression inference, see #35; Update dependencies 2018-03-01 19:42:07 +01:00
77e49bbd95 Replace more .wast references with .wat 2018-02-19 19:16:16 +01:00
e50a23bf75 Rename wast to wat 2018-02-17 11:09:22 +01:00
c6486c461d Move TLSF to stdlib, see #15 2018-02-12 19:17:50 +01:00
cd9a3b5b95 Update dependencies and move ts-node to prod for now 2018-02-09 10:59:47 +01:00
ad92d91f01 Move built-in declarations to actual sources; Remove declaration is null checks; Resolve calls 2018-02-09 02:31:48 +01:00
a7e815dcec TLSF: Coalesce pages by extending the tail block, see #15 2018-02-06 06:47:37 +01:00
41c0f2c6c3 Test formatting; Wire webpack loader to asc 2018-02-05 17:10:14 +01:00
44375a43b2 Docs: Link to the wiki more prominently 2018-02-02 19:05:49 +01:00
6fb7a0c59f TLSF: Cache repeated load/stores in locals (registers) 2018-02-02 08:26:46 +01:00
4ce8c7a6b0 More memory allocators 2018-02-02 04:21:06 +01:00
4736227879 Update binaryen to latest nightly; Source map support 2018-02-02 03:07:54 +01:00
a8da04404a New TLSF, see #15 2018-02-01 17:43:45 +01:00
de066fc128 Preliminary strings
While not well-wrought, it's at least possible now to log some stuff when debugging
2018-01-27 05:35:14 +01:00
2fa7fc7885 Take advantage of smaller integer load and store ops 2018-01-23 15:44:25 +01:00
a257b6e529 Load/store constant offset utility 2018-01-21 16:34:50 +01:00
b77646df6e Update binaryen to latest nightly 2018-01-20 05:27:54 +01:00
ef7a095494 Report if a function isn't guaranteed to return 2018-01-19 04:16:18 +01:00
7be4f9fabb Control flow evaluator; Support for block-level let/const variables 2018-01-18 23:34:12 +01:00
27a66c1a7a Minor improvements to help asc -h 2018-01-18 06:55:30 +01:00
fc40ed80f7 Update Binaryen and add optimize levels to asc 2018-01-18 05:56:45 +01:00
9cdfa35938 Initial implementation if ugc, see #16; Fix tests 2018-01-18 01:48:03 +01:00