dcodeIO
|
5eb10d404f
|
Document the purpose of most files
|
2018-03-17 23:41:48 +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
|
faac3c31eb
|
AST cleanup; Definition generators scaffolding
|
2018-03-17 01:37:05 +01:00 |
|
dcodeIO
|
507482adb2
|
Pull more (possibly) repeated loads to locals
|
2018-03-14 00:27:35 +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 |
|
dcodeIO
|
7ee6e1cf7b
|
Fix compilation of immediate called function expressions
|
2018-03-12 22:34:40 +01:00 |
|
Daniel Wirtz
|
423533c6b0
|
Implement function types / indirect calls / trampolines (#39)
|
2018-03-12 14:06:39 +01:00 |
|
dcodeIO
|
d81ce5f907
|
Retain wrap state in parenthesized expressions; Void statements fwiw
|
2018-03-04 18:52:12 +01:00 |
|
dcodeIO
|
f754b24819
|
Fix asc bundle with webpack 4, see #36; Function expression progress
|
2018-03-03 18:38:38 +01:00 |
|
dcodeIO
|
a5e31200d3
|
Fix memory imports, see #36
|
2018-03-02 12:57:33 +01:00 |
|
dcodeIO
|
4633fdab96
|
Update binary expression inference, see #35; Update dependencies
|
2018-03-01 19:42:07 +01:00 |
|
dcodeIO
|
02dce5a518
|
Add importMemory option to asc, see #36
|
2018-02-28 18:38:42 +01:00 |
|
dcodeIO
|
d4c00eaba3
|
Revised implicit type conversions; Initial function expression compilation
|
2018-02-28 01:48:01 +01:00 |
|
dcodeIO
|
bda6cb9792
|
Initial function expression parsing
|
2018-02-27 02:28:36 +01:00 |
|
dcodeIO
|
8dc517e352
|
Cleanup; Initial tslint integration
|
2018-02-25 00:13:39 +01:00 |
|
dcodeIO
|
6b459259f9
|
Add memoryBase compiler option
This allows having fixed-size application-specific memory in front, followed by compiler-generated static memory and the heap.
|
2018-02-17 00:16:08 +01:00 |
|
dcodeIO
|
3d7e8b2b7a
|
More cleanup and a possible fix for #29
|
2018-02-16 11:55:13 +01:00 |
|
dcodeIO
|
f729444320
|
Fix increment/decrement not wrapping small ints in simplified case, see #26
|
2018-02-15 09:22:46 +01:00 |
|
dcodeIO
|
d31e484b15
|
Cleanup; Fix an issue with 'let' declarations reusing a local
|
2018-02-14 19:21:31 +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
|
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
|
002fba3067
|
Initial parseInt using loads, see #8
|
2018-01-28 23:42:55 +01:00 |
|
dcodeIO
|
1b0ed61072
|
Field initializers and constructors
|
2018-01-28 15:13:31 +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
|
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
|
ef7a095494
|
Report if a function isn't guaranteed to return
|
2018-01-19 04:16:18 +01:00 |
|
dcodeIO
|
7be4f9fabb
|
Control flow evaluator; Support for block-level let/const variables
|
2018-01-18 23:34:12 +01:00 |
|
dcodeIO
|
1c4b0ddc57
|
Moved noEmit to compiler frontend; Added I/O and compile time measuring
|
2018-01-18 15:45:34 +01:00 |
|
dcodeIO
|
9cdfa35938
|
Initial implementation if ugc, see #16; Fix tests
|
2018-01-18 01:48:03 +01:00 |
|
dcodeIO
|
461daab2a2
|
Handle static readonly members like constants
|
2018-01-17 06:56:12 +01:00 |
|
dcodeIO
|
1662950f3c
|
Refactor TLSF to a more TS-friendly structure
|
2018-01-17 02:08:14 +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
|
2c009c67d3
|
Initial element access compilation; Carefully approaching std array
|
2018-01-13 23:38:07 +01:00 |
|
dcodeIO
|
2df318a7ec
|
Implicitly alias stdlib exports as program globals, see #8
|
2018-01-12 15:36:17 +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
|
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 |
|