Richard Feldman
ada83561e5
Split ListLen into ListLenU64 and ListLenUsize
...
The usize one gets used internally for things like
pattern matches. This is both more efficient (means
they don't have to do unnecessary casts) and also
less error-prone due to e.g. comparing length to
capacity, which is usize.
2024-02-14 21:00:49 -05:00
J.Teeuwissen
80faf0eeee
removed borrow.rs
2023-07-30 14:03:38 +02:00
Folkert
334253f47f
check inside a lambda set for whether it is reference counted
2023-07-26 20:06:37 +02:00
Ayaz Hafiz
7ea85e44d2
Add Layout::Erased
2023-07-12 14:43:24 -05:00
Ayaz Hafiz
6312d75ee0
Add FunctionPointer layout
2023-07-12 13:59:50 -05:00
Folkert
ef39bad7c6
auto clippy fixes
2023-07-10 18:27:08 +02:00
Folkert
6d2d65bb1e
remove Boxed layout
2023-07-09 15:47:28 +02:00
Folkert
d64930c17f
remove box and unbox expressions
2023-07-09 15:47:28 +02:00
Folkert
3b18494ddd
use Ptr instead of Boxed in the code-gen-help
2023-06-30 15:57:33 +02:00
Folkert
e95d093461
in dev/wasm backends, always clear tag id bits from a reset pointer
2023-06-27 20:50:43 +02:00
Folkert
fc3004da58
free or reuse unconditionally when value is unique
2023-06-27 17:37:45 +02:00
Folkert
17512873e8
add LayoutRepr::Ptr
2023-06-24 14:49:45 +02:00
Ayaz Hafiz
bc41db2a34
Get rid of passing target_info a bunch
2023-06-17 18:13:00 -05:00
Ayaz Hafiz
5274dbcd00
Add a Newtype variant to LayoutWrapper
2023-06-06 16:03:52 -05:00
Ayaz Hafiz
457cdabc5c
Make repr private and accessible only via the interner
2023-06-06 16:01:27 -05:00
Ayaz Hafiz
a67c148be7
Convert LayoutRepr::Struct into a tuple variant
2023-05-16 11:58:16 -05:00
Folkert de Vries
f2a033d0da
Merge pull request #5406 from JTeeuwissen/cross-layout-reuse
...
Cross layout reuse
2023-05-15 15:20:23 +02:00
J.Teeuwissen
e26a1f2aaa
fixed resetref wasm
2023-05-15 00:53:14 +02:00
Folkert
c084ff06b3
allow unused
2023-05-14 18:25:57 +02:00
Folkert
79daa102a0
simplify list RC joinpoint
2023-05-14 18:13:44 +02:00
Folkert
12975bdffb
shift pointer by one if string slice
2023-05-14 18:02:51 +02:00
Folkert
c19ad4ecfd
fix list decrement in dev backend
2023-05-14 15:20:42 +02:00
Folkert
1c6b55584a
fix list inc/dec wrt slices
2023-05-14 15:20:42 +02:00
Folkert
736b7c6a83
inc/dec string slices
2023-05-14 15:20:41 +02:00
Folkert
62dac6bdf8
don't calculate RC pointer in STR decrement function
...
we now decrement based on the data pointer; further logic is all in zig now
2023-05-14 15:20:41 +02:00
Brian Carroll
17d8ef2aa7
Support refcounting Str seamless slices for dev backends
2023-05-14 15:20:40 +02:00
Brian Carroll
5c53530c81
Support refcounting List seamless slices for dev backends
2023-05-14 15:20:40 +02:00
Ayaz Hafiz
6714a6fd92
Use LayoutRepr directly when possible
2023-05-10 15:28:11 -05:00
Ayaz Hafiz
f100e8753c
Introduce the concept of SemanticRepr
2023-05-10 13:51:04 -05:00
Ayaz Hafiz
c3eeb5e2cc
Wrap layouts in a LayoutRepr
constructor
...
Part 1 of support semantic layout representations.
2023-05-10 13:22:10 -05:00
Folkert
6ed899d8be
indirec inc/dec generation in mono helpers
2023-05-05 15:02:21 +02:00
Folkert
05a9b4d601
fix that inc on list was no longer recursive
2023-05-03 01:03:09 +02:00
Folkert
cb4b726c7e
don't refcount the empty tag union
2023-05-02 22:31:57 +02:00
Folkert
45b881d553
cleanup
2023-04-28 21:16:48 +02:00
Folkert
b9cc3b7823
don't check a non-recursive tag union for uniqueness
2023-04-28 18:46:07 +02:00
Folkert
2ea69f07ef
fix decref returning incorrect address in some cases
2023-04-28 17:58:39 +02:00
Folkert
a7c7ad2d17
fix and optimize tail-recursive decrement
2023-04-28 17:50:30 +02:00
Folkert
755c294d90
only recursively decrement when unique
2023-04-28 17:10:22 +02:00
Folkert
a5862a9398
use data ptr instead of rc pointer to shrink IR size
2023-04-28 15:51:38 +02:00
Folkert
cf54304cf4
add lowlevel to inc/dec a data pointer
2023-04-28 15:30:23 +02:00
Folkert
a61e7a696d
use Box instead of a tag to read the refcount
2023-04-28 15:11:14 +02:00
J.Teeuwissen
b0a4dd3e52
newlines
2023-04-26 20:25:15 +02:00
J.Teeuwissen
804e617497
undo mono unique
2023-04-26 20:17:19 +02:00
J.Teeuwissen
74f2b0afda
Updated refcount logic
2023-04-26 18:14:16 +02:00
J.Teeuwissen
91533e1071
refactor
2023-04-24 13:10:14 +02:00
Folkert
fa6d5c6955
fix ptr returned by wasm reset
2023-04-18 21:59:13 +02:00
Folkert
cabbfa52d5
fix alignment calculation in wasm reset
2023-04-18 21:59:13 +02:00
J.Teeuwissen
af3c4f01da
fix folkert NumSubSaturated
2023-04-18 13:59:06 +02:00
J.Teeuwissen
363e2e1074
Merge branch 'main' into Frame-Limited
2023-04-18 07:19:54 +02:00
Folkert
c848a85eb4
fix index bug in recursive decrements
2023-04-17 14:22:27 +02:00