Folkert
44d03eebfa
switch over to alloca expr
2023-07-30 18:48:35 +02:00
Folkert
cdd2aab217
add alloca as an expression
2023-07-30 18:46:00 +02:00
Folkert
334253f47f
check inside a lambda set for whether it is reference counted
2023-07-26 20:06:37 +02: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
d64930c17f
remove box and unbox expressions
2023-07-09 15:47:28 +02:00
Folkert
fc3004da58
free or reuse unconditionally when value is unique
2023-06-27 17:37:45 +02:00
Folkert
654cf7b861
changes after review
2023-06-24 14:49:57 +02:00
Folkert
bb335469e0
working wasm implementation (for one example)
2023-06-24 14:49:50 +02:00
Folkert
052ce8f2aa
clippy
2023-06-24 14:49:47 +02:00
Folkert
51f3752c94
wasm backend struggles
2023-06-24 14:49:47 +02:00
Folkert
9c85fb90d3
fix bugs
2023-06-24 14:49:47 +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
Hannes
97fa6758d0
Rename trimLeft to trimStart and trimRight to trimEnd
2023-06-19 13:17:59 +08:00
Ayaz Hafiz
bc41db2a34
Get rid of passing target_info a bunch
2023-06-17 18:13:00 -05:00
Ayaz Hafiz
80a98668d5
Fix type errors
2023-06-06 16:07:51 -05: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
3585d5bb5b
Implement hash for Dec
2023-05-26 11:38:30 -05:00
Brendan Hansknecht
b4c359588e
Seed Dict and Set
...
This changes Dict and Set to have a compilation depedent seed.
The seed is not exposed to userland in anyway.
This gets a much more DOS resistant Dict and Set with no cost.
2023-05-25 09:55:48 -07:00
Ayaz Hafiz
a67c148be7
Convert LayoutRepr::Struct into a tuple variant
2023-05-16 11:58:16 -05:00
Ayaz Hafiz
4b7f09b175
Only compare repr equality in wasm backend
2023-05-11 09:30:45 -05:00
Ayaz Hafiz
4296d5a349
Drop Layout::struct_no_name_order
2023-05-10 15:58:51 -05:00
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
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
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