Commit graph

76 commits

Author SHA1 Message Date
Folkert
c007b39105 factor out refcounting operations 2020-11-17 20:01:38 +01:00
Folkert
c11d97f3e7 Merge remote-tracking branch 'origin/trunk' into recursive-tag-segfault 2020-11-17 02:52:13 +01:00
Folkert
8f49b1afaa re-enable RBTree.balance test 2020-11-17 02:13:40 +01:00
Richard Feldman
346248a7c0
Merge pull request #692 from rtfeldman/refactor-layout
Extract LayoutIds from roc_gen to roc_mono::layout
2020-11-15 12:04:43 -05:00
Brendan Hansknecht
2204ee82d5 Extract LayoutIds from roc_gen to roc_mono::layout 2020-11-14 17:48:04 -08:00
Folkert
154b5cc29f get RBTree.balance to compile 2020-11-14 02:49:28 +01:00
Folkert
b7f7de8afb fix issue in refcounting 2020-11-13 23:27:42 +01:00
Folkert
2267a1174a introduce PhantomEmptyStruct 2020-11-08 03:08:12 +01:00
Folkert
c8c1a0678a code gen for variably-sized closures 2020-10-21 13:01:27 +02:00
Folkert
1439c1a21d clippy complaints 2020-10-17 22:37:15 +02:00
Folkert
8b490b6221 make closure layout more robust 2020-10-17 01:48:55 +02:00
Folkert
6318f032df first shot at implementing closure layout 2020-10-15 16:03:56 +02:00
Brendan Hansknecht
fc4f753914 Check the string is big and non-empty 2020-09-30 16:49:47 -07:00
Brendan Hansknecht
b02b25f41d Support variable ptr sizes in string refcount 2020-09-30 15:17:29 -07:00
Brendan Hansknecht
a2069a88db Merge branch 'trunk' into str-refcount 2020-09-30 15:12:17 -07:00
Brendan Hansknecht
1082d88b2b Remove unused value from increment_refcount_ptr 2020-09-30 06:58:10 -07:00
Richard Feldman
2993d40b85 Don't support compiling to 128-bit targets 2020-09-30 08:23:44 -04:00
Brendan Hansknecht
46db0fd989 Properly size refcount based on system ptr size 2020-09-29 17:27:29 -07:00
Brendan Hansknecht
0c5beb59cb Add refcount incrementing to big strings 2020-09-29 16:14:20 -07:00
Brendan Hansknecht
f532a758d9 Add refcount decrementing to big strings 2020-09-28 20:32:32 -07:00
Brendan Hansknecht
9e9552186e Fix list refcount dec 2020-09-27 10:18:01 -07:00
Brendan Hansknecht
51e1cd61dd Intentionally leak memory with 0 for refcount
A 0 value for refcount is the max and means leaked/read-only memory.
These values should never be incremented or decremented.
This changes also uses signed overflow when decrementing memory.
2020-09-27 09:34:51 -07:00
Brendan Hansknecht
3d6d5d1ad0 Switch refcount of 1 to be isize::MIN as usize
Also, adds helper methods for inc/dec of refcount.
2020-09-27 09:28:23 -07:00
Folkert
f492800a28 recursive refcount on lists 2020-09-22 21:58:45 +02:00
Folkert
1279999c6c fix how free is called
somehow the previous version compiles passes llvm verification, but hangs when free is actually called
2020-09-08 21:30:23 +02:00
Folkert
4c995b12a6 move refcounting code gen into its own module 2020-09-08 15:51:38 +02:00