Commit graph

358 commits

Author SHA1 Message Date
Ayaz Hafiz
1170b542b6
Remove field_order_hash from struct layouts 2023-05-10 15:49:30 -05: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
Basile Henry
b8aaaaabda Implement builtins for Num.isNan, Num.isInfinite, and Num.isFinite
Closes #5310 and closes #5309
2023-05-03 09:33:28 +01:00
Folkert de Vries
a5a91d428f
Merge pull request #5336 from roc-lang/dev-backend-list-map
dev backend: many more builtins
2023-05-01 10:20:15 +02:00
Folkert
cf54304cf4
add lowlevel to inc/dec a data pointer 2023-04-28 15:30:23 +02:00
Folkert
91079d3844
wasm backend: mulWrap for i128 2023-04-27 01:20:53 +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
ed46a1f2cb
lowlevel isUnique 2023-04-26 17:23:10 +02:00
Folkert
be31bc5c41
add the PtrWrite lowlevel 2023-04-23 15:19:46 +02:00
Folkert
4cd8f0a056 clippy --fix fixes 2023-04-21 12:05:51 +02:00
J.Teeuwissen
9d4c3bcfb9
undid inlining 2023-04-15 17:41:10 +02:00
J.Teeuwissen
5f7f9b766b
inline lowlevel in rc 2023-04-13 12:26:05 +02:00
J.Teeuwissen
87abe8df7d
Merge branch 'resetref' into Frame-Limited 2023-04-03 10:02:31 +02:00
Folkert
09779f65ad
add NullPointer to mono::ir::Expr 2023-03-30 20:18:04 +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
Brendan Hansknecht
48f17a8e2c
add Str.releaseExcessCapacity 2023-03-15 15:24:59 -07:00
Brendan Hansknecht
1319ba4844
add List.releaseExcessCapacity builtin 2023-03-13 17:43:21 -07:00
Brendan Hansknecht
dfb748fb03
misc cleanup + change refcount pointer to avoid branching 2023-03-13 14:08:24 -07:00
Brendan Hansknecht
26f5d558d8
update wasm to load capacity correctly 2023-03-13 14:08:24 -07:00
Brendan Hansknecht
e6964536b2
add more Num.bytesTo* functions 2023-03-12 08:41:05 -07:00
Brendan Hansknecht
785da377c8
add Num.count*Bits functions 2023-03-12 08:41:04 -07:00
Brendan Hansknecht
f42f61e271
run a toml formatter and then clean it up a bit 2023-03-06 19:47:57 -08:00
Brendan Hansknecht
4a89bee0a5
centralize package versions except for vendor and excluded 2023-03-06 19:29:09 -08:00
Brendan Hansknecht
5485c8a5b0
update to using workspace package spec 2023-03-06 16:36:18 -08:00
Folkert
625b9c161a
implement wasm traits for roc_std::RocBox 2023-02-09 14:55:08 +01:00
Ayaz
ad84e02abf
Merge pull request #4950 from roc-lang/keep-recptr-index
Initial support for linking recursive pointer layouts back to their source layouts
2023-01-24 14:42:00 -06:00
Brian Carroll
ac45fa2bba
Merge pull request #4683 from roc-lang/gen-wasm-shr-128
gen_wasm: Implement u128 right shift by delegating to compiler_rt
2023-01-24 00:36:27 +00:00
Brian Carroll
5179057fc5
gen_wasm: implement NumIntCast for i128 2023-01-23 22:39:24 +00:00
Brian Carroll
28d6d000ec
gen_wasm: Implement u128 right shift by delegating to compiler_rt 2023-01-23 22:07:40 +00:00
Ayaz Hafiz
8750127111
Begin support for looping-back recursive pointers to their source layouts 2023-01-23 14:37:48 -06:00
Folkert
8442be824b
List.reserve: load spare from symbol, don't use a local 2023-01-21 15:57:10 +01:00
Ayaz Hafiz
1960f429bd
Cleanup of lints 2023-01-11 14:39:12 -06:00
Ayaz Hafiz
ee7e9d4ab5
Update gen wasm 2023-01-11 14:39:11 -06:00
Ayaz Hafiz
9d70c45781
Update wasm backend 2023-01-11 14:38:43 -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
fdbc0ebdad
Thread LayoutInterner trait through 2023-01-03 11:48:46 -06:00
Richard Feldman
ccbd6ad593
Merge pull request #4838 from roc-lang/more-str-docs
Minor `Str` improvements
2022-12-31 01:58:50 -05:00
Richard Feldman
d4baf0ab37
Rename a constant 2022-12-29 20:48:30 -05: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
4ef541395a
remove dbg lowlevel 2022-12-22 02:45:09 +01:00
Folkert
f76df8a356
make dbg transparent to refcounting 2022-12-22 01:03:03 +01:00
Brian Carroll
d389601035
Merge branch 'main' of github.com:roc-lang/roc into wasm_interp_test_gen 2022-12-16 14:50:09 +00:00
Folkert
d287eafa3a
remove F128 2022-12-14 23:28:38 +01:00
Brian Carroll
b4c0ac14c8
gen_wasm: comment about debug env var 2022-12-14 08:42:01 +00:00