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
Ayaz Hafiz
039bab65f5
Remove unused imports
2022-12-29 18:43:28 -06:00
Ayaz Hafiz
972046445b
Lift Niche from just captures-niche to generic niche
2022-12-29 18:43:26 -06:00
Ayaz Hafiz
e4b5252e51
List takes interned element
2022-12-29 08:52:37 -06:00
Ayaz Hafiz
7ab7fdfa7b
Push interned layouts as mut throughout the backend, and intern box layouts
2022-12-28 18:51:26 -06:00
Folkert
66a1ba00eb
1.65 clippy fixes
2022-11-03 16:20:37 +01:00
Ayaz Hafiz
3b4b1838b8
Push layout interner further through Layout
2022-08-31 14:33:52 -05:00
Folkert
4d55b756bb
remove dict/set layout
2022-07-13 11:41:19 +02:00
Folkert de Vries
1441e8c347
Merge pull request #3392 from rtfeldman/wasm-boxed-eq-and-refcount
...
Dev backends: Eq and refcount for Boxed layout
2022-07-04 13:17:37 +02:00
Brian Carroll
7c7e450756
mono: generate Eq functions for Boxed layout
2022-07-03 18:42:35 +01:00
Ayaz Hafiz
8855f269ba
Make captures niche more private
2022-07-03 10:37:36 -04:00
Ayaz Hafiz
71d612078a
no_niche to represent lack of captures niche
2022-07-03 10:37:36 -04:00
Ayaz Hafiz
019ebd93f7
Put the capture niche in the lambda name instead of generating new names
2022-07-03 10:37:29 -04:00
Ayaz Hafiz
1903ce4db9
Remove LambdaName::from_non_multimorphic
2022-07-03 10:37:27 -04:00
Ayaz Hafiz
51978e08ed
First pass at supporting multimorphic lambdas in lambda sets
2022-07-03 10:37:26 -04:00
Anton-4
eee85fa45d
moved all crates into seperate folder + related path fixes
2022-07-01 17:37:43 +02:00