Commit graph

65 commits

Author SHA1 Message Date
Folkert
5557fb7e34
repl helper codegen 2023-09-14 14:39:12 +02:00
Folkert
7c584dd5d8
disable debugging info 2023-09-14 11:51:03 +02:00
Folkert
520bac2905
List.sortWith and friends 2023-09-14 11:46:52 +02:00
Folkert
51067f0ae4
add List.map* 2023-09-14 11:46:49 +02:00
Folkert
0f3da32d9d
remove unused field 2023-08-09 15:11:02 +02:00
Folkert
7fb4b60b21
move around hostexposedalias logic 2023-08-09 15:09:03 +02:00
Folkert
a2b8274ade
spelling 2023-07-30 20:44:12 +02:00
Folkert
29df340a26
pass the crash tag through 2023-07-30 20:44:11 +02:00
Folkert
bb97b9ff74
cleanup 2023-07-30 20:44:10 +02:00
Folkert
f59eed6366
so close 2023-07-30 20:44:10 +02:00
Folkert
8c99cdf817
working codegen 2023-07-30 20:44:07 +02:00
Folkert
e7f9ff8b51
WIP 2023-07-30 20:42:07 +02:00
Folkert
10aa4f58c9
WIP 2023-07-30 20:41:33 +02:00
Ayaz Hafiz
13d1232f7d
Erased functions do not take a func spec 2023-07-12 14:44:17 -05: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
3b18494ddd use Ptr instead of Boxed in the code-gen-help 2023-06-30 15:57:33 +02:00
Folkert
fc3004da58
free or reuse unconditionally when value is unique 2023-06-27 17:37:45 +02:00
Folkert
76dcb75ff6
add Ptr lowlevels 2023-06-24 14:49:46 +02:00
Folkert
17512873e8
add LayoutRepr::Ptr 2023-06-24 14:49:45 +02: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
J.Teeuwissen
93030fd3c8
ResetRef reachable 2023-05-15 00:53:14 +02:00
Ayaz Hafiz
94203ca6d9
Preserve semantic when fixing rec pointer 2023-05-10 17:25:15 -05:00
Ayaz Hafiz
1170b542b6
Remove field_order_hash from struct layouts 2023-05-10 15:49:30 -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
a7c7ad2d17
fix and optimize tail-recursive decrement 2023-04-28 17:50:30 +02:00
Folkert
a61e7a696d
use Box instead of a tag to read the refcount 2023-04-28 15:11:14 +02:00
J Teeuwissen
7439ee0c8c
Merge branch 'main' into drop_specialization
Signed-off-by: J Teeuwissen <jelleteeuwissen@hotmail.nl>
2023-04-26 20:26:37 +02:00
J.Teeuwissen
91533e1071
refactor 2023-04-24 13:10:14 +02:00
Folkert
b59ada4bc8
implement List.map in the dev backend 2023-04-23 17:35:17 +02:00
Folkert
be31bc5c41
add the PtrWrite lowlevel 2023-04-23 15:19:46 +02:00
J.Teeuwissen
6ece065504
implementing feedback 2023-04-13 15:54:30 +02:00
J.Teeuwissen
4f3f3caff3
Cleanup 2023-04-06 10:41:05 +02:00
J.Teeuwissen
87abe8df7d
Merge branch 'resetref' into Frame-Limited 2023-04-03 10:02:31 +02:00
J.Teeuwissen
9b410694fe
Merge branch 'main' into Frame-Limited 2023-03-30 20:38:05 +02:00
J.Teeuwissen
9e8b1c0dee
reset ref implementation 2023-03-30 09:30:09 +02:00
J.Teeuwissen
d4ed6f7778
start resetref 2023-03-29 11:57:13 +02:00
Brian Carroll
7228502965
mono: delete is_rc_implemented_yet, because everything is implemented! 2023-01-26 20:05:16 +01:00
J.Teeuwissen
957f44966c
start perceus reference count 2023-01-26 17:13:29 +01:00
Ayaz Hafiz
8750127111
Begin support for looping-back recursive pointers to their source layouts 2023-01-23 14:37:48 -06:00
Ayaz Hafiz
fa8effd3e8
Make all layouts interned in mono 2023-01-11 14:38:41 -06:00
Ayaz Hafiz
ce717dca8b
Do not require allocating Layouts in arena before interning
This should reduce memory spend, the interner has its own effective
arena anyway
2023-01-10 09:47:13 -06:00
Ayaz Hafiz
50826d1a83
Inline interners into the layout interner module
I realized that we'll need to make the layout interner more complicated
to support things like recursive pointers pointing to their parents and
to support lambda set layout caching. Since the layout interner is the
only user of intern crate right now anyway, just inline the whole thing.
2023-01-03 14:19:39 -06:00