174 Commits

Author SHA1 Message Date
dcodeIO
c6486c461d Move TLSF to stdlib, see #15 2018-02-12 19:17:50 +01:00
dcodeIO
9e9284955d Clean up asc a bit 2018-02-12 18:54:17 +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
74f8189ac1 Fix CRLF issues in tests; Include common tsc options in asc bundle 2018-02-10 18:34:29 +01:00
dcodeIO
9678ce839e Also bundle definition files with asc 2018-02-10 17:25:31 +01:00
dcodeIO
118cf95d25 Even more testing for #26 2018-02-10 12:20:19 +01:00
dcodeIO
a360393505 More testing for #26 2018-02-10 12:14:04 +01:00
dcodeIO
fd7738f2d2 Regenerate fixture 2018-02-10 09:59:22 +01:00
dcodeIO
0f99f39600 Add test case for #26 2018-02-10 09:45:49 +01:00
dcodeIO
0f4449438b Include dist files in the repo, fixes #11 2018-02-10 01:14:41 +01:00
dcodeIO
facd8b44b3 Exclude more modules from asc build 2018-02-10 01:09:34 +01:00
dcodeIO
08d9ba12aa Improve bundled asc example a bit, see #25 2018-02-09 16:40:53 +01:00
dcodeIO
60728c38fd Initial asc browser bundle, see #25 2018-02-09 15:43:57 +01:00
dcodeIO
cd9a3b5b95 Update dependencies and move ts-node to prod for now 2018-02-09 10:59:47 +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
a7e815dcec TLSF: Coalesce pages by extending the tail block, see #15 2018-02-06 06:47:37 +01:00
dcodeIO
41c0f2c6c3 Test formatting; Wire webpack loader to asc 2018-02-05 17:10:14 +01:00
dcodeIO
a0b39da7cf Run tests on latest lts and latest stable node 2018-02-04 07:56:35 +01:00
dcodeIO
819d79889d Second pass on the programmatic asc API; Make compiler tests use asc directly 2018-02-04 07:51:40 +01:00
dcodeIO
349de60129 First pass on a programmatic asc API 2018-02-03 02:36:20 +01:00
dcodeIO
44375a43b2 Docs: Link to the wiki more prominently 2018-02-02 19:05:49 +01:00
dcodeIO
6fb7a0c59f TLSF: Cache repeated load/stores in locals (registers) 2018-02-02 08:26:46 +01:00
dcodeIO
4ce8c7a6b0 More memory allocators 2018-02-02 04:21:06 +01:00
dcodeIO
8d4be9a714 Remove intermediate debugging from asc 2018-02-02 03:14:27 +01:00
dcodeIO
4736227879 Update binaryen to latest nightly; Source map support 2018-02-02 03:07:54 +01:00
dcodeIO
a8da04404a New TLSF, see #15 2018-02-01 17:43:45 +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
cae89e0b1f Accept custom library paths in asc, see #19 2018-01-30 01:20:20 +01:00
dcodeIO
1995bf9eb4 Parser fixes; Lib updates 2018-01-29 22:36:07 +01:00
dcodeIO
74498852f0 Utilities and an initial webpack loader 2018-01-29 17:12:02 +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
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
2670340cce Update tests 2018-01-27 16:28:09 +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
b548b5c81f Properly resolve enum value siblings 2018-01-24 03:08:09 +01:00
dcodeIO
29935948f2 Precompute extensions of inlined constants
Besides eliminating unnecessary extensions, this also allows the use of enum values in long int contexts
2018-01-23 16:40:47 +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