46 Commits

Author SHA1 Message Date
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
4736227879 Update binaryen to latest nightly; Source map support 2018-02-02 03:07:54 +01:00
dcodeIO
9e3b6f202d Naive parseFloat 2018-01-29 07:42:40 +01:00
dcodeIO
3165f4337f Refactor compilation of aborts and terminate with unreachable
Because of the latter, we can't test it anymore without trapping, but that's somewhat the point
2018-01-27 17:02:52 +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
5d142ba647 Unify target checks 2018-01-21 17:52:44 +01:00
dcodeIO
a257b6e529 Load/store constant offset utility 2018-01-21 16:34:50 +01:00
dcodeIO
b77646df6e Update binaryen to latest nightly 2018-01-20 05:27:54 +01:00
dcodeIO
64c939fdc4 Initial implementation of 'new'
This doesn't yet call the constructor or use provided parameters and just allocates raw memory
2018-01-19 16:13:14 +01:00
dcodeIO
7be4f9fabb Control flow evaluator; Support for block-level let/const variables 2018-01-18 23:34:12 +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
3980e53bb7 Let the optimizer decide what it takes to become a select 2018-01-12 05:03:25 +01:00
dcodeIO
d89703cdad Transition to TypeFlags for specific type checks; Optimize logical ops a bit 2018-01-10 23:19:14 +01:00
dcodeIO
fc777b3a89 Builtins rewrite with type parameter inference; Small integer math optimizations; Switchify 2018-01-10 13:09:05 +01:00
dcodeIO
7c8670ac35 Regexp literal support; Properly resolve statically inherited members 2018-01-07 15:07:46 +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
dcodeIO
7e9b58428b Always compile globals because initializers might have side effects 2018-01-04 06:00:42 +01:00
dcodeIO
1221ff129d More built-in constants; Get/set parsing fixes; I64.toF64 fixes 2018-01-02 21:41:25 +01:00
dcodeIO
2b182b505e Make sure changetype works 2018-01-02 05:02:05 +01:00
dcodeIO
3add4624c5 Initial instance methods and field layout; More cleanup 2018-01-01 20:27:21 +01:00
dcodeIO
4207f6460d Warn on constant locals not being actual constants; Simplify changetype 2017-12-28 17:16:37 +01:00
dcodeIO
2ed3c22031 Cleanup: Make use of type inference and use 'var' in functions to match actual WebAssembly semantics 2017-12-28 04:09:40 +01:00
dcodeIO
7795d48d98 Namespaced imports 2017-12-27 22:38:32 +01:00
dcodeIO
ba61a5e414 Getters & setters (static); Instantiate compiler tests; Cleanup 2017-12-27 02:37:53 +01:00
dcodeIO
4baff99125 Refactoring; Add tslint fwiw 2017-12-24 03:19:47 +01:00
dcodeIO
dd5c3e7a4e Type aliases 2017-12-20 13:36:39 +01:00
dcodeIO
9632777842 Type declaration parsing; Future feature references 2017-12-19 17:49:15 +01:00
dcodeIO
aa563a9a5a Cleanup; Documentation 2017-12-18 03:46:36 +01:00
dcodeIO
2720515982 More stdlib setup 2017-12-16 17:54:53 +01:00
dcodeIO
85a9fb1eb5 Stdlib preparations 2017-12-16 02:27:39 +01:00
dcodeIO
4b3cc981a6 Portable conversions 2017-12-15 17:23:04 +01:00
dcodeIO
7cf879fb4b Type limits 2017-12-15 15:00:19 +01:00
dcodeIO
c6c36613e6 Accessor parsing; Cleanup 2017-12-14 11:55:35 +01:00
dcodeIO
99b0fdf7a8 Namespaces 2017-12-13 23:24:13 +01:00
dcodeIO
7d85b0cc7f Cleanup 2017-12-13 04:46:05 +01:00
dcodeIO
f75b962c74 Smarter temp locals; Less binaryen boilerplate 2017-12-12 09:32:03 +01:00
dcodeIO
ad1fbcf5b2 A first take on imported built-ins 2017-12-12 01:35:48 +01:00
dcodeIO
bbb57baecb changetype builtin; some namespace parsing; more stdlib ideas; compiler options for asc 2017-12-08 04:03:44 +01:00
dcodeIO
f045975a4b Built-in abs/min/max for integers; For-loop fixes 2017-12-05 22:47:20 +01:00
dcodeIO
330752908a Implement asc in js for dist 2017-12-05 15:06:44 +01:00
dcodeIO
df212653a8 Add webpack; Setup instructions 2017-12-05 13:35:14 +01:00
dcodeIO
40b814ac73 Refactored builtins 2017-12-05 01:45:15 +01:00