Commit Graph

  • 9e9284955d Clean up asc a bit dcodeIO 2018-02-12 18:54:17 +01:00
  • 2175e6fbdc Optimize some std mem methods by replacing expensive rem operations to fast bit logic (#24) Max Graey 2018-02-12 19:47:32 +02:00
  • 74f8189ac1 Fix CRLF issues in tests; Include common tsc options in asc bundle dcodeIO 2018-02-10 18:34:29 +01:00
  • 9678ce839e Also bundle definition files with asc dcodeIO 2018-02-10 17:25:31 +01:00
  • 118cf95d25 Even more testing for #26 dcodeIO 2018-02-10 12:20:19 +01:00
  • a360393505 More testing for #26 dcodeIO 2018-02-10 12:13:07 +01:00
  • fd7738f2d2 Regenerate fixture dcodeIO 2018-02-10 09:59:22 +01:00
  • 0f99f39600 Add test case for #26 dcodeIO 2018-02-10 09:45:49 +01:00
  • 0f4449438b Include dist files in the repo, fixes #11 dcodeIO 2018-02-10 01:14:41 +01:00
  • facd8b44b3 Exclude more modules from asc build dcodeIO 2018-02-10 01:09:34 +01:00
  • 08d9ba12aa Improve bundled asc example a bit, see #25 dcodeIO 2018-02-09 16:40:53 +01:00
  • 60728c38fd Initial asc browser bundle, see #25 dcodeIO 2018-02-09 15:43:57 +01:00
  • cd9a3b5b95 Update dependencies and move ts-node to prod for now dcodeIO 2018-02-09 10:59:47 +01:00
  • ad92d91f01 Move built-in declarations to actual sources; Remove declaration is null checks; Resolve calls dcodeIO 2018-02-09 02:31:48 +01:00
  • a7e815dcec TLSF: Coalesce pages by extending the tail block, see #15 dcodeIO 2018-02-06 06:47:37 +01:00
  • 41c0f2c6c3 Test formatting; Wire webpack loader to asc dcodeIO 2018-02-05 17:10:14 +01:00
  • a0b39da7cf Run tests on latest lts and latest stable node dcodeIO 2018-02-04 07:55:48 +01:00
  • 819d79889d Second pass on the programmatic asc API; Make compiler tests use asc directly dcodeIO 2018-02-04 07:51:40 +01:00
  • 349de60129 First pass on a programmatic asc API dcodeIO 2018-02-03 02:36:20 +01:00
  • 44375a43b2 Docs: Link to the wiki more prominently dcodeIO 2018-02-02 19:05:49 +01:00
  • 6fb7a0c59f TLSF: Cache repeated load/stores in locals (registers) dcodeIO 2018-02-02 08:26:46 +01:00
  • 4ce8c7a6b0 More memory allocators dcodeIO 2018-02-02 04:21:06 +01:00
  • 8d4be9a714 Remove intermediate debugging from asc dcodeIO 2018-02-02 03:14:27 +01:00
  • 4736227879 Update binaryen to latest nightly; Source map support dcodeIO 2018-02-02 03:07:54 +01:00
  • a8da04404a New TLSF, see #15 dcodeIO 2018-02-01 17:35:51 +01:00
  • 3924aa96ae Fun fact: Can even implement parseInt/I32/I64 using generics, see #19 dcodeIO 2018-01-30 06:05:35 +01:00
  • ab5a938ea0 parseInt compatibility layer around parseI64, see #19 dcodeIO 2018-01-30 01:26:38 +01:00
  • cae89e0b1f Accept custom library paths in asc, see #19 dcodeIO 2018-01-30 01:20:20 +01:00
  • 1995bf9eb4 Parser fixes; Lib updates dcodeIO 2018-01-29 22:36:07 +01:00
  • 74498852f0 Utilities and an initial webpack loader dcodeIO 2018-01-29 17:04:39 +01:00
  • 9e3b6f202d Naive parseFloat dcodeIO 2018-01-29 07:42:40 +01:00
  • d3f22637ed Check radix in parseInt and use constant offsets dcodeIO 2018-01-29 00:33:32 +01:00
  • 002fba3067 Initial parseInt using loads, see #8 dcodeIO 2018-01-28 23:42:55 +01:00
  • 896810859e Make memory allocators pluggable dcodeIO 2018-01-28 19:33:05 +01:00
  • 78debee847 Improve arena allocator a bit dcodeIO 2018-01-28 19:14:20 +01:00
  • 219ee81bc9 Rename heap to memory; Allocator strategies dcodeIO 2018-01-28 15:30:49 +01:00
  • 1b0ed61072 Field initializers and constructors dcodeIO 2018-01-28 15:13:31 +01:00
  • b1e7b75ad7 Static operator overloads dcodeIO 2018-01-28 06:18:27 +01:00
  • 3165f4337f Refactor compilation of aborts and terminate with unreachable dcodeIO 2018-01-27 17:02:52 +01:00
  • 2670340cce Update tests dcodeIO 2018-01-27 16:28:09 +01:00
  • 5d76ba9437 Wire assertions to global abort, see #8 dcodeIO 2018-01-27 16:23:00 +01:00
  • de066fc128 Preliminary strings dcodeIO 2018-01-27 05:35:14 +01:00
  • b548b5c81f Properly resolve enum value siblings dcodeIO 2018-01-24 03:08:09 +01:00
  • 29935948f2 Precompute extensions of inlined constants dcodeIO 2018-01-23 16:40:47 +01:00
  • 2fa7fc7885 Take advantage of smaller integer load and store ops dcodeIO 2018-01-23 15:44:25 +01:00
  • 5d142ba647 Unify target checks dcodeIO 2018-01-21 17:52:44 +01:00
  • a257b6e529 Load/store constant offset utility dcodeIO 2018-01-21 16:34:50 +01:00
  • b77646df6e Update binaryen to latest nightly dcodeIO 2018-01-20 05:27:54 +01:00
  • 64c939fdc4 Initial implementation of 'new' dcodeIO 2018-01-19 16:13:14 +01:00
  • ef7a095494 Report if a function isn't guaranteed to return dcodeIO 2018-01-19 04:16:18 +01:00
  • 7be4f9fabb Control flow evaluator; Support for block-level let/const variables dcodeIO 2018-01-18 23:34:12 +01:00
  • 1c4b0ddc57 Moved noEmit to compiler frontend; Added I/O and compile time measuring dcodeIO 2018-01-18 15:45:34 +01:00
  • 27a66c1a7a Minor improvements to help asc -h dcodeIO 2018-01-18 06:55:30 +01:00
  • fc40ed80f7 Update Binaryen and add optimize levels to asc dcodeIO 2018-01-18 05:56:45 +01:00
  • 9cdfa35938 Initial implementation if ugc, see #16; Fix tests dcodeIO 2018-01-18 01:46:41 +01:00
  • 461daab2a2 Handle static readonly members like constants dcodeIO 2018-01-17 06:56:12 +01:00
  • 1662950f3c Refactor TLSF to a more TS-friendly structure dcodeIO 2018-01-17 02:08:14 +01:00
  • 7d5e56cef5 More TLSF dcodeIO 2018-01-16 17:52:48 +01:00
  • 867e037ff0 Initial TLSF implementation (example), see #15 dcodeIO 2018-01-16 05:25:03 +01:00
  • d1fed692f6 Moved AST serialization to extra (not ultimately needed by asc) dcodeIO 2018-01-15 19:00:18 +01:00
  • f2ba4b4a76 Filler implementation for std Set dcodeIO 2018-01-15 00:08:06 +01:00
  • 49d29fc9f2 More std array dcodeIO 2018-01-14 21:17:43 +01:00
  • 827bb4afe8 Use move_memory in std Array#unshift dcodeIO 2018-01-14 02:41:13 +01:00
  • ad469ca445 Polyfill move_memory and set_memory and remove Heap dcodeIO 2018-01-14 02:30:20 +01:00
  • 2c009c67d3 Initial element access compilation; Carefully approaching std array dcodeIO 2018-01-13 23:38:07 +01:00
  • dd596b015d Simplify reinterpret to require one type argument only, fixes #9 dcodeIO 2018-01-13 01:15:09 +01:00
  • 2df318a7ec Implicitly alias stdlib exports as program globals, see #8 dcodeIO 2018-01-12 15:36:17 +01:00
  • 3980e53bb7 Let the optimizer decide what it takes to become a select dcodeIO 2018-01-12 05:03:25 +01:00
  • d89703cdad Transition to TypeFlags for specific type checks; Optimize logical ops a bit dcodeIO 2018-01-10 23:19:14 +01:00
  • fc777b3a89 Builtins rewrite with type parameter inference; Small integer math optimizations; Switchify dcodeIO 2018-01-10 13:09:05 +01:00
  • 0de05b543b Harden regexp parsing a bit dcodeIO 2018-01-07 18:15:21 +01:00
  • 7c8670ac35 Regexp literal support; Properly resolve statically inherited members dcodeIO 2018-01-07 15:07:46 +01:00
  • d8fa04f910 Operator overload preparations dcodeIO 2018-01-06 10:20:38 +01:00
  • 859a0e05bf Reference showcase compiler test in README dcodeIO 2018-01-05 18:20:57 +01:00
  • 9846f6c033 Add showcase compiler test incl. respective features and fixes dcodeIO 2018-01-05 18:19:32 +01:00
  • 2d0f5f3087 Comma expressions fwiw dcodeIO 2018-01-05 01:55:59 +01:00
  • 7e9b58428b Always compile globals because initializers might have side effects dcodeIO 2018-01-04 06:00:42 +01:00
  • 50dea3b1df Basic initial inheritance dcodeIO 2018-01-04 01:36:26 +01:00
  • ae99adefce Better resolve infrastructure; Instance fields dcodeIO 2018-01-03 18:33:27 +01:00
  • fb2b7aa96b Notes on unary EQZ in compileBinary EQ dcodeIO 2018-01-02 23:20:57 +01:00
  • f507fc8168 Add fmod compiler test dcodeIO 2018-01-02 23:01:06 +01:00
  • 1221ff129d More built-in constants; Get/set parsing fixes; I64.toF64 fixes dcodeIO 2018-01-02 21:41:25 +01:00
  • 2b182b505e Make sure changetype works dcodeIO 2018-01-02 05:02:05 +01:00
  • dc78fc8d20 Tidy up program error messages dcodeIO 2018-01-02 03:54:06 +01:00
  • 3add4624c5 Initial instance methods and field layout; More cleanup dcodeIO 2018-01-01 20:27:21 +01:00
  • 2888ba14ad PSON decoder example using namespaced imports dcodeIO 2017-12-30 05:11:58 +01:00
  • c67f87a988 Update binaryen.js and enable tee optimizations dcodeIO 2017-12-29 04:38:39 +01:00
  • 4207f6460d Warn on constant locals not being actual constants; Simplify changetype dcodeIO 2017-12-28 17:16:37 +01:00
  • 2f12c7fa50 Fix local type being possibly null dcodeIO 2017-12-28 15:20:37 +01:00
  • 8d894d0827 Make sure constant locals are inlined, see #6 dcodeIO 2017-12-28 15:17:35 +01:00
  • 2ed3c22031 Cleanup: Make use of type inference and use 'var' in functions to match actual WebAssembly semantics dcodeIO 2017-12-28 04:09:40 +01:00
  • 7795d48d98 Namespaced imports dcodeIO 2017-12-27 22:38:32 +01:00
  • eccac129ad Search parent namespaces when resolving identifiers dcodeIO 2017-12-27 19:17:29 +01:00
  • ba61a5e414 Getters & setters (static); Instantiate compiler tests; Cleanup dcodeIO 2017-12-27 02:37:53 +01:00
  • 5c4bf1af76 Less prose; Update i64 example; More options for asc dcodeIO 2017-12-25 12:08:51 +01:00
  • 4baff99125 Refactoring; Add tslint fwiw dcodeIO 2017-12-24 03:19:47 +01:00
  • d7c069b692 Get rid of determineExpressionType dcodeIO 2017-12-23 17:49:06 +01:00
  • ca9c79185b Basic type inference dcodeIO 2017-12-23 13:48:04 +01:00
  • ad298c7bea Asterisk imports parsing; Pussyfooting around stdlib dcodeIO 2017-12-23 00:48:54 +01:00
  • a0ec684e1c Fix inclusion of stdlib in asc dcodeIO 2017-12-21 10:19:55 +01:00