Commit graph

1325 commits

Author SHA1 Message Date
Justin Ethier
49c2c093fd Reassign args when doing C iteration
Reassign arguments when optimizing to use C iteration in place of recursive function calls.
2018-10-23 13:31:01 -04:00
Justin Ethier
d0564e991e WIP 2018-10-23 12:16:33 -04:00
Justin Ethier
c39183500a WIP 2018-10-23 12:03:52 -04:00
Justin Ethier
1989d32664 Added continue_or_gc macros 2018-10-23 11:33:05 -04:00
Justin Ethier
870a9a9763 Added TODO 2018-10-22 17:28:25 -04:00
Justin Ethier
fb8de77d37 Detect actual recursive calls 2018-10-22 17:16:25 -04:00
Justin Ethier
8930d9c8df Added TODO 2018-10-22 13:35:33 -04:00
Justin Ethier
eb2ab6b74a Added (self-closure-call? ast self) 2018-10-22 13:35:04 -04:00
Justin Ethier
c1e8996ddd Added TODO 2018-10-22 13:34:16 -04:00
Justin Ethier
88f0db1547 Fix TODO 2018-10-19 13:33:47 -04:00
Justin Ethier
23aaae8f05 WIP 2018-10-19 13:23:18 -04:00
Justin Ethier
b37cbc3106 Added calls-self to adbf 2018-10-18 17:56:06 -04:00
Justin Ethier
5f760e4a2c Use alloca_pair instead of make_pair for literals 2018-10-18 13:10:32 -04:00
Justin Ethier
44efba7c6d Remove trace statements 2018-10-17 17:27:14 -04:00
Justin Ethier
95ba4aa554 WIP 2018-10-17 17:58:47 -04:00
Justin Ethier
2d5e75764f Added TODO 2018-10-17 15:54:14 -04:00
Justin Ethier
f110c1d219 WIP 2018-10-17 13:23:31 -04:00
Justin Ethier
bea7cfe242 Added (rec-call?) 2018-10-16 22:52:34 -04:00
Justin Ethier
5cdcf963af Bump to 0.9.4 2018-10-03 09:47:57 -04:00
Justin Ethier
d9b0adc8c1 Issue #277 2018-10-01 17:05:52 -04:00
Justin Ethier
54e32106f5 Remove debug trace 2018-10-01 12:26:11 -04:00
Justin Ethier
ad6e2c5f78 Added return_direct_with_clo and return_direct_with_obj 2018-09-28 11:53:54 -04:00
Justin Ethier
03b4f21b66 Make it easier to enable/disable WKL 2018-09-27 17:49:04 -04:00
Justin Ethier
3b1f124b6a Check for prim:cont when known function is called via k 2018-09-27 17:32:04 -04:00
Justin Ethier
0a9cd2a6b7 Well-known lambdas cannot be called from runtime 2018-09-27 15:57:51 -04:00
Justin Ethier
7a8c4e45f6 Check scope when finding known lambdas
Want to ensure a lambda is not used in another function other than the one we thought was calling it directly, because if this happens it will become part of a closure and is not directly "known".
2018-09-26 17:39:35 -04:00
Justin Ethier
e49a319ec6 Enable well-known-function code 2018-09-26 13:18:52 -04:00
Justin Ethier
31e99da295 Bugfix - swap when we use num-lambda 2018-09-26 12:25:08 -04:00
Justin Ethier
92fb2c176d WIP 2018-09-26 11:10:49 -04:00
Justin Ethier
ea7f401e77 Use ast lambda ID's in C code 2018-09-25 18:43:18 -04:00
Justin Ethier
62145ea95a Bugfix, forgot acc 2018-09-25 17:54:28 -04:00
Justin Ethier
bba1783a49 Added adb lambda id functions 2018-09-25 17:38:28 -04:00
Justin Ethier
cb9d143187 WIP 2018-09-25 17:42:19 -04:00
Justin Ethier
32c8ad1949 WIP, added TODO's 2018-09-25 17:12:26 -04:00
Justin Ethier
5df8fd92ed Cleanup 2018-09-25 17:03:28 -04:00
Justin Ethier
bad93ae229 Temporarily disable well-known fnc changes 2018-09-25 12:38:30 -04:00
Justin Ethier
7be8fe8f9a Added opt:renumber-lambdas! 2018-09-24 18:25:31 -04:00
Justin Ethier
edf3c0e87f Use default value to prevent raising an error 2018-09-24 13:38:02 -04:00
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
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