326 Commits

Author SHA1 Message Date
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
97e7158fff Add some motivation 2018-04-24 17:03:22 +02:00
dcodeIO
8465776a1d Use 'super' in Uint8ClampedArray#__set 2018-04-24 00:42:17 +02:00
Max Graey
ddde13a648 Implement Uint8ClampedArray (#82) 2018-04-24 00:33:21 +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
Max Graey
fac0fc59b5 Implement Array#map, Array#forEach, Array#filter, Array#reduceRight (#81) 2018-04-22 22:15:38 +02:00
dcodeIO
05117f9ee3 Make sure that contextual type arguments are passed when resolving the target of a new expression; Fix decoding of UTF8 strings with more than two code units in the Binaryen interface 2018-04-22 00:17:14 +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
350befee9b Also compile the constructor if a class is exported 2018-04-19 02:58:04 +02:00
dcodeIO
9579086699 Add what we have for GC so far
Not functional yet, but might be good to have for discussing it.
2018-04-18 16:32:07 +02:00
Max Graey
a15457d8b9 Simplify isFinite & isNaN (#78) 2018-04-18 15:14:24 +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
dcodeIO
4026c087fd Export the trampoline and provide a helper for functions that take optional arguments 2018-04-17 16:04:29 +02:00
dcodeIO
4929fca363 Move some numeric builtins to stdlib; Minor refactoring 2018-04-17 02:50:38 +02:00
Max Graey
6d0b5d92c2 Minor string comparision optimizations (#77) 2018-04-16 23:02:55 +02:00
Max Graey
1013c21359 Remove type checking from load/store for portable (#76) 2018-04-16 23:02:12 +02:00
Max Graey
d66f9d205c Add portable ctz, popcnt, rotl, rotr, nearest & copysign (#75)
Thank you!
2018-04-15 00:35:43 +02:00
Max Graey
990fa850ff Add more Array#sort tests (#73) 2018-04-15 00:35:17 +02:00
dcodeIO
81223977d0 Fix external names of class exports and similar; Support a few more kinds in TSDBuilder, see #74 2018-04-15 00:34:19 +02:00
dcodeIO
78a679759a Update dependencies 2018-04-13 15:31:23 +02:00
dcodeIO
ee73a4d28f Initial type parameter inference, see #61
This catches the most common cases but doesn't yet implement inference involving the return type because some prequesites are not yet in place (see test case).
2018-04-13 12:25:27 +02:00
dcodeIO
748e811137 Proper isNaN/isFinite without a temp. local 2018-04-12 20:40:00 +02:00
Max Graey
1cea3c6f08 Improve Math#sign (#72) 2018-04-12 19:26:50 +02:00
Max Graey
2002e32c9c Inline small stdlib functions (#71) 2018-04-12 14:17:29 +02:00
dcodeIO
5b97427bfa Update dist files 2018-04-11 23:37:33 +02:00
Daniel Wirtz
623597c23a
Make the transition to ArrayBuffer backed Arrays (#70)
* Traverse base classes when resolving overloads
* Implement preliminary TypedArray accessors
* Extract decorator flags from common flags to make space
* Add '**' overload
* Implement basic explicit inlining
* Support inlining of instance methods
* Reduce number of required locals when inlining
* Implement inlining of operator overloads
* Fix issues when inlining generic functions
2018-04-11 23:35:19 +02:00
dcodeIO
0f49e054d2 Minor optimizations to array sorting
...to get a handle on the code
2018-04-08 01:53:22 +02:00
Max Graey
ac2281b14b Improve memory usage for weakHeap sorting (#68) 2018-04-08 01:03:26 +02:00
dcodeIO
9731958738 Implement a mechanism to realloc array buffers; Trap when trying to allocate more than max size; Test allocators in CI 2018-04-08 00:52:19 +02:00
dcodeIO
dcc0e284fb Make type checking builtins also accept just a type argument 2018-04-07 23:31:36 +02:00
dcodeIO
8ffc7d463d Fix invalid assertion when resolving element accesses 2018-04-07 21:58:22 +02:00
Prince Mathew
89e8de5d82 Enable open-in-browser in the Game Of Life example (#69) 2018-04-07 19:01:10 +02:00
Max Graey
b7ef21950b Add String#repeat method (#67) 2018-04-07 18:59:26 +02:00
dcodeIO
f1b00c90be Fix browser asc 2018-04-07 16:37:39 +02:00
dcodeIO
8770f7b548 New ArrayBuffer/TypedArray; Stdlib restructure; Fix importing stdlib in stdlib; Traverse constructors; Allow initialization of readonly instance fields in constructors 2018-04-07 03:27:22 +02:00
dcodeIO
6268b92eba Resolve string instances to the program's string class 2018-04-06 00:19:45 +02:00
Max Graey
70a0123554 Fix some cases in string comparision (#66) 2018-04-05 17:44:17 +02:00