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