75 Commits

Author SHA1 Message Date
dcodeIO
5eb10d404f Document the purpose of most files 2018-03-17 23:41:48 +01:00
Igor
162096bcd6 Add Array#includes and improve compatibility of Array#indexOf (#41) 2018-03-17 17:02:15 +01:00
dcodeIO
83e96892f2 Statically eliminate unnecessary branches in generic contexts
In order to use the new compile time type checks in generics, untaken branches must be skipped because these might be invalid.
2018-03-17 14:40:58 +01:00
dcodeIO
2ed9fac171 Initial compile time type check builtins 2018-03-17 12:54:37 +01:00
dcodeIO
faac3c31eb AST cleanup; Definition generators scaffolding 2018-03-17 01:37:05 +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
00c4f6fa52 Unify allocator tests even more, also test arena 2018-03-04 17:25:32 +01:00
dcodeIO
4257273d42 Make TLSF always align to 8 bytes, see #15 2018-03-04 01:31:44 +01:00
dcodeIO
4633fdab96 Update binary expression inference, see #35; Update dependencies 2018-03-01 19:42:07 +01:00
dcodeIO
d4c00eaba3 Revised implicit type conversions; Initial function expression compilation 2018-02-28 01:48:01 +01:00
dcodeIO
9ef8b162a9 Also lint stdlib 2018-02-25 23:21:32 +01:00
dcodeIO
8dc517e352 Cleanup; Initial tslint integration 2018-02-25 00:13:39 +01:00
Max Graey
de1c4b3da5 Add bswap/bswap16 post MVP polyfills (#34) 2018-02-19 12:35:28 +01:00
dcodeIO
e50a23bf75 Rename wast to wat 2018-02-17 11:09:22 +01:00
dcodeIO
3d7e8b2b7a More cleanup and a possible fix for #29 2018-02-16 11:55:13 +01:00
dcodeIO
b1c6ccab2a Use long.js in JS and native i64 in WASM; Compile literals more thoroughly 2018-02-14 09:18:43 +01:00
dcodeIO
c6486c461d Move TLSF to stdlib, see #15 2018-02-12 19:17:50 +01:00
Max Graey
2175e6fbdc Optimize some std mem methods by replacing expensive rem operations to fast bit logic (#24) 2018-02-12 18:47:32 +01:00
dcodeIO
ad92d91f01 Move built-in declarations to actual sources; Remove declaration is null checks; Resolve calls 2018-02-09 02:31:48 +01:00
dcodeIO
4ce8c7a6b0 More memory allocators 2018-02-02 04:21:06 +01:00
dcodeIO
4736227879 Update binaryen to latest nightly; Source map support 2018-02-02 03:07:54 +01:00
dcodeIO
3924aa96ae Fun fact: Can even implement parseInt/I32/I64 using generics, see #19 2018-01-30 06:05:35 +01:00
dcodeIO
ab5a938ea0 parseInt compatibility layer around parseI64, see #19 2018-01-30 01:26:38 +01:00
dcodeIO
1995bf9eb4 Parser fixes; Lib updates 2018-01-29 22:36:07 +01:00
dcodeIO
9e3b6f202d Naive parseFloat 2018-01-29 07:42:40 +01:00
dcodeIO
d3f22637ed Check radix in parseInt and use constant offsets 2018-01-29 00:33:32 +01:00
dcodeIO
002fba3067 Initial parseInt using loads, see #8 2018-01-28 23:42:55 +01:00
dcodeIO
896810859e Make memory allocators pluggable 2018-01-28 19:33:05 +01:00
dcodeIO
78debee847 Improve arena allocator a bit 2018-01-28 19:14:20 +01:00
dcodeIO
219ee81bc9 Rename heap to memory; Allocator strategies 2018-01-28 15:30:49 +01:00
dcodeIO
1b0ed61072 Field initializers and constructors 2018-01-28 15:13:31 +01:00
dcodeIO
b1e7b75ad7 Static operator overloads 2018-01-28 06:18:27 +01:00
dcodeIO
5d76ba9437 Wire assertions to global abort, see #8 2018-01-27 16:23:00 +01:00
dcodeIO
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
dcodeIO
2fa7fc7885 Take advantage of smaller integer load and store ops 2018-01-23 15:44:25 +01:00
dcodeIO
a257b6e529 Load/store constant offset utility 2018-01-21 16:34:50 +01:00
dcodeIO
d1fed692f6 Moved AST serialization to extra (not ultimately needed by asc) 2018-01-15 19:00:18 +01:00
dcodeIO
f2ba4b4a76 Filler implementation for std Set 2018-01-15 00:08:06 +01:00
dcodeIO
49d29fc9f2 More std array 2018-01-14 21:17:43 +01:00
dcodeIO
827bb4afe8 Use move_memory in std Array#unshift 2018-01-14 02:41:13 +01:00
dcodeIO
ad469ca445 Polyfill move_memory and set_memory and remove Heap 2018-01-14 02:30:20 +01:00
dcodeIO
2c009c67d3 Initial element access compilation; Carefully approaching std array 2018-01-13 23:38:07 +01:00
dcodeIO
dd596b015d Simplify reinterpret to require one type argument only, fixes #9 2018-01-13 01:15:09 +01:00
dcodeIO
2df318a7ec Implicitly alias stdlib exports as program globals, see #8 2018-01-12 15:36:17 +01:00
dcodeIO
fc777b3a89 Builtins rewrite with type parameter inference; Small integer math optimizations; Switchify 2018-01-10 13:09:05 +01:00
dcodeIO
d8fa04f910 Operator overload preparations 2018-01-06 10:20:38 +01:00
dcodeIO
9846f6c033 Add showcase compiler test incl. respective features and fixes 2018-01-05 18:19:32 +01:00
dcodeIO
2d0f5f3087 Comma expressions fwiw 2018-01-05 01:55:59 +01:00