Commit graph

4190 commits

Author SHA1 Message Date
Justin Ethier
a27a62d65b Fix dereferencing closure from gc_ret fnc 2018-09-21 17:47:29 -04:00
Justin Ethier
6d35fb6fe7 Deref closure param 2018-09-21 13:32:36 -04:00
Justin Ethier
fe08c5ae96 Bug fixes 2018-09-21 13:22:05 -04:00
Justin Ethier
40a2131fef Add a type check 2018-09-21 13:06:37 -04:00
Justin Ethier
ade50748b6 Only emit new return macro when clo can be omitted 2018-09-21 12:44:18 -04:00
Justin Ethier
cc5f14f63e WIP 2018-09-21 12:24:54 -04:00
Justin Ethier
9e082f3c0c WIP - emit gc ret functions 2018-09-21 11:59:41 -04:00
Justin Ethier
107f5ce75a Pass appropriate lambda ID when compiling closure 2018-09-20 17:52:29 -04:00
Justin Ethier
3b0a6b2fd6 Added TODO 2018-09-20 13:19:08 -04:00
Justin Ethier
dd82dba750 Temporarily disable emitting new code
Need to debug lambda ID code first, before this change can hope to work.
2018-09-20 13:12:39 -04:00
Justin Ethier
c531799663 Emit analysis DB after closure conv
This allows us to see the final DB prior to C code generation, as we are now modifying it after the CPS optimization phase.
2018-09-20 12:50:22 -04:00
Justin Ethier
b3e4a9feb6 Fix storing of all params 2018-09-20 12:16:32 -04:00
Justin Ethier
cb97cfbac7 WIP 2018-09-19 18:51:41 -04:00
Justin Ethier
b5248cb965 Set lambda args in adb 2018-09-19 18:35:09 -04:00
Justin Ethier
47da3d5be6 Added all-args to adbf 2018-09-19 17:45:22 -04:00
Justin Ethier
bd8e5cb1de Added c-compile-closure-element-ref 2018-09-19 13:31:36 -04:00
Justin Ethier
7cb83e17d8 Pass enclosing lambda AST ID when compiling expr's 2018-09-19 13:24:04 -04:00
Justin Ethier
5d1ed67c48 WIP - emitting obj instead of closure 2018-09-18 18:51:59 -04:00
Justin Ethier
d0fccf44f8 Keep track of closure sizes 2018-09-18 17:50:17 -04:00
Justin Ethier
9c377cd872 Emit return_direct_with_clo when possible.
This speeds up compilation slightly but the real benefit (I hope) will be when we can leverage it to eliminate certain closures.
2018-09-17 13:12:15 -04:00
Justin Ethier
189728d571 Store cgen-id in the analysis DB 2018-09-16 18:54:31 -04:00
Justin Ethier
a9c5d5d268 WIP 2018-09-14 18:26:03 -04:00
Justin Ethier
6dfe91fdc6 Added cgen-id parameter 2018-09-14 18:20:08 -04:00
Justin Ethier
f461e26fa4 WIP - store allocated lambda id 2018-09-14 18:14:32 -04:00
Justin Ethier
d4e3c65ca7 Staging initial cgen changes 2018-09-14 18:06:50 -04:00
Justin Ethier
927856ec55 Export convenience functions 2018-09-14 18:00:19 -04:00
Justin Ethier
8eb447d11b Added c-macro-return-direct-with-closure 2018-09-14 15:17:07 -04:00
Justin Ethier
8f7b785ec3 Additional debugging 2018-09-14 12:36:05 -04:00
Justin Ethier
dbd1e4799f Integrate code for well-known lambdas 2018-09-14 12:07:34 -04:00
Justin Ethier
0526dadde7 WIP 2018-09-14 10:35:29 -04:00
Justin Ethier
8f06bd8de9 WIP 2018-09-13 18:49:03 -04:00
Justin Ethier
18997af478 WIP 2018-09-13 13:51:37 -04:00
Justin Ethier
2464cf1391 New file 2018-09-13 13:06:19 -04:00
Justin Ethier
17213d94ac Added a TODO 2018-09-12 17:41:44 -04:00
Justin Ethier
c9fd208a72 Added stub 2018-09-12 17:17:31 -04:00
Justin Ethier
d45c44388f Allow AST to track well-known procedures 2018-09-12 17:01:24 -04:00
Justin Ethier
39e92c1be7 Added TODO 2018-09-12 13:33:47 -04:00
Justin Ethier
61cdf4ea5c Merge branch 'ast3-dev' 2018-09-12 10:35:38 -04:00
Justin Ethier
3fd2828b34 Added note about lambda AST's 2018-09-11 17:58:47 -04:00
Justin Ethier
c4de5b057e More ast lambda conversions 2018-09-11 17:34:04 -04:00
Justin Ethier
f8af9833e1 WIP 2018-09-11 12:47:58 -04:00
Justin Ethier
c84a2ab356 Issue #276 2018-09-10 13:39:38 -04:00
Justin Ethier
b41971e187 Issue #276 - Improve overflow detection for multiplication 2018-09-10 13:29:30 -04:00
Justin Ethier
b2326b89f4 Issue #276 - Possible fix
Do not perform multiplication until we are sure the operation will not over/under flow.
2018-09-09 18:42:35 -04:00
Justin Ethier
e0f3ef9e76 WIP 2018-09-08 19:09:03 -04:00
Justin Ethier
ee68cce67a
Update CHANGELOG.md 2018-09-08 21:34:47 -04:00
Justin Ethier
8b74b495fb WIP 2018-09-07 17:39:10 -04:00
Justin Ethier
941930af35 WIP - AST lambda integration 2018-09-06 18:55:43 -04:00
Justin Ethier
8359f7a6f9 WIP - emit AST lambda's from closure convert 2018-09-06 13:32:01 -04:00
Justin Ethier
bea5644503 Pretty-print closure converted code 2018-09-06 12:53:26 -04:00