Commit graph

78 commits

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