Commit graph

95 commits

Author SHA1 Message Date
Richard Feldman
d1a561c30f Call roc_alloc and friends from llvm 2021-05-23 23:46:09 -04:00
Folkert
353e161f77 expose support for multi-increment 2021-05-16 21:25:47 +02:00
Folkert
de7b06e411 refactor + clippy 2021-05-16 21:17:34 +02:00
Folkert
febb578773 rework refcount code gen to accept unknown inc values 2021-05-16 20:28:45 +02:00
Folkert
41c1878d8d use zig dict type 2021-04-23 15:19:15 +02:00
Folkert
6d941e242e check for staticness when incrementing 2021-04-14 16:36:34 +02:00
Folkert
ca1bb20389 store string literals without allocation 2021-04-14 15:13:25 +02:00
Folkert
55cb780249 don't clone Layout 2021-03-22 14:08:48 +01:00
Folkert
b43b36dd00 clippy 2021-02-19 22:26:35 +01:00
Folkert
a850ccb94a use the WhenRecursive trick in refcounting 2021-02-19 22:13:50 +01:00
Folkert
9473a332db clippy 2021-02-19 19:22:05 +01:00
Folkert
17fddaf0dd refcount details of builtins 2021-02-19 17:13:09 +01:00
Folkert
9faf84be16 correct RC for List.repeat, List.keepIf, List.keepOks 2021-02-19 01:08:33 +01:00
Folkert
76e299fe83 consistently name inc and dec (same layout, same number) 2021-02-18 01:54:39 +01:00
Folkert
927ba11e64 implement inc/dec for dicts 2021-02-13 16:56:00 +01:00
Folkert
685ae620a1 Merge remote-tracking branch 'origin/trunk' into dict-insert 2021-02-13 16:41:23 +01:00
Folkert
e9f2d9d608 work on refcount 2021-02-13 16:41:13 +01:00
Richard Feldman
baaf621b88
drop commented-out dbg! 2021-02-12 19:22:38 -05:00
Richard Feldman
548c3c3f15
fix typo 2021-02-12 19:21:38 -05:00
Folkert
574e472978 hide debug init stuff in a macro 2021-02-12 21:24:49 +01:00
Folkert
ee21f86f8f hooking everything up 2021-02-12 17:18:06 +01:00
Folkert
1f0a16ec57 call to foreign function dropped continuation 2021-02-10 22:05:33 +01:00
Folkert
936bf459eb initial version of rc optimization 2021-01-28 13:14:54 +01:00
Folkert
e87d8f6449 optimize branching in debug builds 2021-01-26 23:45:41 +01:00
Richard Feldman
54f8efaa68
Merge branch 'trunk' into list-empty-record 2021-01-25 00:50:58 -05:00
Folkert
54fb482b79 Merge remote-tracking branch 'origin/trunk' into list-empty-record 2021-01-23 15:24:05 +01:00
Folkert
513d7cd78f groundwork for RoseTree 2021-01-23 01:39:04 +01:00
Folkert
bb12b39fc7 cleanup 2021-01-22 16:18:19 +01:00
Folkert
d8fd2d670d don't use alloca in inc/dec 2021-01-22 15:30:43 +01:00
Folkert
6344771a0c optimize refcount inc/dec (tail recursion) 2021-01-22 15:24:49 +01:00
Folkert
191dee73df clippy 2021-01-22 13:54:35 +01:00
Folkert
cb8de4ac04 move check out of main loop 2021-01-22 13:52:19 +01:00
Folkert
690f3ee5c9 simplify recursive case 2021-01-22 13:18:27 +01:00
Folkert
155c9fd9b0 pass the refcount value at runtime 2021-01-22 13:13:12 +01:00
Folkert
9c90f27bfd use correct Symbol 2021-01-22 01:34:37 +01:00
Folkert
42f63ceac1 update other places 2021-01-22 01:17:57 +01:00
Folkert
7c22201344 unify inc/dec list 2021-01-22 00:51:28 +01:00
Folkert
af5c75ea39 unify inc/dec str 2021-01-22 00:45:00 +01:00
Folkert
93f0e732a4 unify inc/dec builtin 2021-01-22 00:35:59 +01:00
Folkert
2b887f64b4 unify inc/dec layout 2021-01-22 00:30:02 +01:00
Folkert
946ce9c292 implement incrementing by a variable number 2021-01-22 00:21:23 +01:00
Folkert
99058e7203 add inc field to mode 2021-01-22 00:18:35 +01:00
Folkert
ef89ff15a1 make match exhaustive 2021-01-21 20:37:05 +01:00
Folkert
2e52ed68a4 increment struct layouts ... 2021-01-21 20:21:45 +01:00
Folkert
5ec354229a refactor recursive tag refcounting 2021-01-20 22:19:12 +01:00
Folkert
cb0c5ef751 make bitcast more descriptive 2021-01-18 22:06:14 +01:00
Folkert
c1265574b3 drop the tag! 2021-01-17 02:26:04 +01:00
Folkert
2ce35cca28 fix block_of_memory creation for recursive layouts 2021-01-17 00:38:30 +01:00
Folkert
de666c575f refactor union layout 2021-01-16 16:31:43 +01:00
Folkert
ef3bda40c6 fix RC 2021-01-15 16:10:48 +01:00