Commit graph

85 commits

Author SHA1 Message Date
Folkert
587c5c18d7
mono refcount: use box instaed of non-nullable unwrapped 2023-02-10 20:19:49 +01:00
Brian Carroll
e0b5247f3e
mono code_gen_help: decref should use element alignment, not List alignment 2023-01-26 20:05:16 +01: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
8edbd3b378
Eliminate uses of RECURSIVE_PTR directly 2023-01-23 16:04:55 -06: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
Folkert de Vries
61a2091b27
Merge pull request #4851 from JTeeuwissen/main
replace borrowed boolean with ownership enum
2023-01-09 23:24:39 +01:00
J.Teeuwissen
b28b32cdc4
moved Ownership to borrow 2023-01-09 18:15:34 +01:00
J.Teeuwissen
6ec977bf1c
imports 2023-01-04 13:34:31 +01:00
J.Teeuwissen
6c95bc1fb9
replace borrowed boolean with ownership enum 2023-01-04 13:30:42 +01: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
fdbc0ebdad
Thread LayoutInterner trait through 2023-01-03 11:48:46 -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
1878fc1c4f
Allow too many args 2022-12-28 18:52:26 -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
Brian Carroll
50326f7e0b
Merge branch 'trunk' of github.com:rtfeldman/roc into wasm-code-gen-fixes-i3448 2022-08-06 10:12:24 +01:00
Brian Carroll
aa0e9e8d31
wasm: Get RC reset/reuse working correctly 2022-08-06 09:58:47 +01:00
Folkert
96414cb03f
cleanup 2022-07-14 08:52:38 +02:00
Folkert
6c26d8812f
remove dict/hash stuff from the zig builtins 2022-07-13 11:59:46 +02: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
6b1e9c75c8
mono: generate refcounting helper functions for Boxed layout 2022-07-03 23:31:49 +01: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