Brendan Hansknecht
7683c5ae53
Stop using llvm instrinsics that just call libc
...
In a future PR. I will change zig to insure that all of these instrinsics
use musl directly and do not call out to the linked libc.
2023-05-31 20:00:04 -07:00
Ayaz Hafiz
5c43c0c91b
Gen test for hash Dec
2023-05-26 11:38:30 -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
5abf121efe
Correct tag ID matching of nullable wrapped tags
2023-05-24 12:42:15 -05:00
Ayaz Hafiz
a67c148be7
Convert LayoutRepr::Struct into a tuple variant
2023-05-16 11:58:16 -05:00
J.Teeuwissen
797da23f17
build_is_null resetref
2023-05-15 00:53:12 +02:00
Folkert
a289f37eef
handle NULL pointer in Reset
2023-05-15 00:53:12 +02:00
J.Teeuwissen
31cae64570
ptrcast llvm
2023-05-15 00:51:34 +02:00
Ayaz Hafiz
931d26206f
Only check for repr equality in codegen
2023-05-11 09:23:45 -05:00
Ayaz Hafiz
4296d5a349
Drop Layout::struct_no_name_order
2023-05-10 15:58:51 -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
Folkert de Vries
deb1e9952d
Merge pull request #5365 from roc-lang/dev-backend-cli
...
Dev backend list tests
2023-05-07 14:47:39 +02:00
Folkert
ef60be37af
fix alloca of wrong type
2023-05-06 00:42:48 +02:00
Folkert
1c16617bec
llvm backend: fix how closure value is passed
2023-05-05 16:36:29 +02: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
J.Teeuwissen
9c286ea8f2
llvm RefCountIsUnique without zig
2023-04-30 16:22:13 +02:00
J.Teeuwissen
b8a2ea1bf2
Merge branch 'main' into drop_specialization
2023-04-29 18:31:12 +02:00
Anton-4
ff6ec21a09
Merge pull request #5324 from roc-lang/rust_version_upgrade
...
WIP Rust version upgrade
2023-04-29 18:01:04 +02:00
J.Teeuwissen
c1ced3c5d2
inc lowlevel return value
2023-04-29 14:30:14 +02:00
Folkert
25d2d090e8
make box decrement its contents when free'ing
2023-04-28 18:11:39 +02:00
Folkert
cf54304cf4
add lowlevel to inc/dec a data pointer
2023-04-28 15:30:23 +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
b4f65ad8cf
clippy
2023-04-26 20:23:30 +02:00
J.Teeuwissen
74f2b0afda
Updated refcount logic
2023-04-26 18:14:16 +02:00
J.Teeuwissen
ed46a1f2cb
lowlevel isUnique
2023-04-26 17:23:10 +02:00
Anton-4
9748e4a4dc
many clippy fixes
2023-04-24 16:21:46 +02:00
Folkert
be31bc5c41
add the PtrWrite lowlevel
2023-04-23 15:19:46 +02:00
Anton-4
abf2d5760d
clippy auto fix
2023-04-22 18:25:48 +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
ed947b773d
Cleanup
2023-04-05 19:44:17 +02:00
J.Teeuwissen
87abe8df7d
Merge branch 'resetref' into Frame-Limited
2023-04-03 10:02:31 +02:00
J.Teeuwissen
7759ce6fc4
Merge branch 'main' into Frame-Limited
2023-03-31 20:46:39 +02:00
Richard Feldman
0bb8c60b93
Merge pull request #5238 from roc-lang/glue-towards-ts
...
Move RustGlue.roc closer to what we have on the ts branch
2023-03-31 10:11:23 -04:00
Folkert
4419e961c8
remove unneeded extern definitions
2023-03-30 21:36:30 +02:00
J.Teeuwissen
9b410694fe
Merge branch 'main' into Frame-Limited
2023-03-30 20:38:05 +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
Folkert
99a3c08911
bake roc_alloc and friends into the dynamic library for glue
2023-03-29 19:43:59 +02:00
Folkert
d67617e64b
when roc_panic is setjmp/longjmp, mark its linkage as internal
2023-03-29 15:03:30 +02:00
J.Teeuwissen
d4ed6f7778
start resetref
2023-03-29 11:57:13 +02:00
Folkert
c0f49ce62c
correctly add padding between data and tag id
2023-03-28 19:46:26 +02:00
J.Teeuwissen
4d7a2be1dd
llvm inc list sort with
2023-03-22 17:20:50 +01:00
Ayaz Hafiz
3603183817
Apply opaque pointer recasting to all recursive layouts
2023-03-22 08:21:09 -05:00
Ayaz Hafiz
3a960e7809
Properly recast nested recursion pointers to their expanded layouts as needed
...
When we load a structure with a nested recursive pointer, the pointer
may be loaded opaquely. We need to refine it to the concrete type wanted
by the layout.
This conversion can be removed after we upgrade to LLVM 15.
Closes #5162
2023-03-22 08:21:08 -05:00
Anton-4
f1b1aa6a7b
Merge branch 'main' of github.com:roc-lang/roc into glue-getters-rtfeldman
2023-03-17 11:34:29 +01:00
Brendan Hansknecht
48f17a8e2c
add Str.releaseExcessCapacity
2023-03-15 15:24:59 -07:00