Commit graph

553 commits

Author SHA1 Message Date
Ayaz Hafiz
cf30f02e01
Expr::FunctionPointer 2023-07-12 14:21:27 -05:00
Ayaz Hafiz
510a421748
Call erased functions 2023-07-12 14:14:25 -05:00
Ayaz Hafiz
929579d51d
Fix 2023-07-12 14:14:25 -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
6a19009acf
32-bit float mov instruction 2023-07-09 15:47:29 +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
f27cb83a02
remove Reuse 2023-06-29 18:40:26 +02:00
Folkert
463f739c06
add reuse info to normal Tag ir constructor 2023-06-29 18:40:26 +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
41af8ff969
fix invalid register write 2023-06-24 14:49:56 +02:00
Folkert
249f9bcf1e
use base pointer, not stack pointer 2023-06-24 14:49:54 +02:00
Folkert
8fc4a42664
spelling 2023-06-24 14:49:51 +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
0247237fe8
WIP 2023-06-24 14:49:46 +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
Folkert
2eaf158053
fix register not cleared before reading bool 2023-06-11 15:29:20 +02:00
Folkert
59da1ea891
consistently name function symbols
previously the dev backend did not take into account lambda name information to generate function names. This could cause the same function name to be defined twice
2023-06-11 13:39:43 +02:00
Folkert
58c6c664fd
pass LambdaName down for builtin functions 2023-06-11 13:39:43 +02:00
Folkert
b048cb38a6
take lambda name into account when generating function id in dev backend 2023-06-11 13:39:43 +02:00
Folkert
728f982aa5
dev backend NumCompare 2023-06-11 13:39:42 +02:00
Tero Laxström
f0741ca5d2
Formatting all code with cargo fmt --all 2023-06-10 18:29:17 +03:00
Tero Laxström
fcbe177c07
Move old num_mul to num_mul_wrap and use that from num_mul 2023-06-10 15:36:29 +03:00
Folkert
f28aeb8dbf
fix renamed function 2023-06-07 12:55:27 +02:00
Folkert
7546726866
use existing base pointer constant 2023-06-07 12:53:26 +02:00
Folkert
e7791443e6
impl and tests for big recursive tag unions 2023-06-07 12:53:25 +02:00
Folkert
f5578e71b6
movzx function return values, to clear upper bits in zig function results 2023-06-07 12:52:35 +02:00
Folkert
515d60a138
many extra gen_primitives tests for gen-dev 2023-06-07 12:52:33 +02:00
Folkert
ea2a016fd0
small recursive unions, too 2023-06-07 12:51:11 +02:00
Folkert
27ccf4a6b3
implement nonnullableunwrapped 2023-06-07 12:50:27 +02:00
Ayaz Hafiz
80a98668d5
Fix type errors 2023-06-06 16:07:51 -05:00
Ayaz Hafiz
c0e52f9e54
Fix mono tests 2023-06-06 16:04:43 -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
Folkert
f6fafdb019
nullable unwrapped for the dev backend 2023-06-01 00:02:38 +02:00
Folkert
4af9788b51
fix register logic bug in reset/reuse 2023-05-31 23:57:38 +02:00
Folkert
0ace44ae8c
implement reset/reuse in the dev backend 2023-05-31 23:57:38 +02:00
Folkert
8833096a07
clippy 2023-05-31 23:57:37 +02:00
Folkert
c24312a045
fix logic error 2023-05-31 23:57:37 +02:00
Folkert
58d4ae91d2
clippy 2023-05-31 23:57:36 +02:00
Folkert
e33c2b3c84
first working linked list test 2023-05-31 23:57:36 +02:00
Folkert
3364d03fcc
fix debug asserts in dev backend 2023-05-31 23:57:36 +02:00
Folkert
97aba2da41
add static offset to ptr read 2023-05-31 23:57:35 +02: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