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