Commit graph

39 commits

Author SHA1 Message Date
Folkert
207a5eb537 change how invoke refcounting works (the live variable calculation was incorrect) 2021-02-19 17:11:29 +01:00
Folkert
0b6975fa77 de-alias same symbol with different layouts in borrow inference 2021-02-18 15:53:37 +01:00
Folkert
c788965182 only reference count closures if the captured values are RC'd 2021-02-16 22:00:15 +01:00
Folkert
9d3db2f507 revise RC for function pointers 2021-02-11 15:27:46 +01:00
Folkert
55eff1dba1 fix oversights 2021-01-28 15:32:22 +01:00
Folkert
936bf459eb initial version of rc optimization 2021-01-28 13:14:54 +01:00
Folkert
42f63ceac1 update other places 2021-01-22 01:17:57 +01:00
Folkert
15cbadf652 add inc field to Inc instruction 2021-01-22 00:16:20 +01:00
Folkert
e005dbde4c rename Unreachable -> Rethrow 2021-01-07 20:19:12 +01:00
Folkert
6e0f57d7eb make invoke work 2021-01-02 00:55:09 +01:00
Folkert
f8a8c26d2d clippy 2021-01-01 20:27:43 +01:00
Folkert
0ef70f55ea invoke in mono 2021-01-01 20:14:05 +01:00
Folkert
0893aa7369 call changes in mono 2021-01-01 16:11:31 +01:00
Folkert
6bc0cf33a5 add unreachable instruction to the mono IR 2021-01-01 02:26:56 +01:00
Folkert
5859568d92 remove Cond 2020-12-31 20:58:30 +01:00
Folkert
a6e39e66f1 generate signature for foreign symbols 2020-11-06 23:46:31 +01:00
Folkert
2f42463a97 do the IR stuff for foreign call 2020-11-05 23:50:01 +01:00
Richard Feldman
491ae7a775 Drop unnecessary pub 2020-10-31 21:28:02 -04:00
Folkert
f857203673 Merge remote-tracking branch 'origin/trunk' into recursive-layouts 2020-09-07 16:53:15 +02:00
Folkert
b849a3019f reset reuse stuff 2020-09-04 23:07:45 +02:00
Folkert
020b6154f9 fix passing functions by name 2020-08-26 23:34:49 +02:00
Folkert
bfa11cf6b0 appease the clipman 2020-08-19 23:46:56 +02:00
Folkert
fa5e5ab201 back to a working version 2020-08-19 23:42:45 +02:00
Folkert
b0e4a3fd47 make join points use borrow signature 2020-08-15 00:16:03 +02:00
Folkert
294273283b make shared quicksort work 2020-08-15 00:14:20 +02:00
Folkert
d8c71c23f4 thread in borrow signature inference 2020-08-13 20:56:33 +02:00
Folkert
8c86836101 add TCE 2020-08-12 14:03:55 +02:00
Richard Feldman
1e7b3de2c2
Drop obsolete comment 2020-08-10 19:27:02 -04:00
Folkert
25e96fcade fix stack overflow in inc/dec 2020-08-10 22:31:20 +02:00
Folkert
b4c5c2f793 add variable to list
stores the list type, so we can know whether it is unique
2020-08-10 21:05:57 +02:00
Folkert
9e75252ddb centralize decision on what is refcounted 2020-08-10 12:59:10 +02:00
Folkert
ce3fefb5f0 fix trailing whitespace 2020-08-09 01:05:29 +02:00
Folkert
f8143e3e53 perform copy propagation 2020-08-09 00:48:53 +02:00
Folkert
a015dad566 hook up list inc/dec 2020-08-08 21:42:14 +02:00
Folkert
a248a92d9f generate inc/dec in procs 2020-08-08 18:54:28 +02:00
Folkert
e3356dea7b clippy warnings 2020-08-08 11:51:59 +02:00
Folkert
55eff50e36 good progress on Lean-based inc/dec 2020-08-07 23:22:59 +02:00
Folkert
a5a5731010 insert most inc/dec instructions 2020-08-07 02:35:12 +02:00
Folkert
9d1f545ad6 implement free variables 2020-08-07 00:45:12 +02:00