Commit graph

16 commits

Author SHA1 Message Date
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