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