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