Ayaz Hafiz
457cdabc5c
Make repr private and accessible only via the interner
2023-06-06 16:01:27 -05:00
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
a67c148be7
Convert LayoutRepr::Struct into a tuple variant
2023-05-16 11:58:16 -05: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
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
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
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
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
9b410694fe
Merge branch 'main' into Frame-Limited
2023-03-30 20:38:05 +02:00
J.Teeuwissen
4d7a2be1dd
llvm inc list sort with
2023-03-22 17:20:50 +01: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
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
Folkert
0072192897
prepare for llvm 15
2023-01-28 14:51:47 +01:00
Ahmad Sattar
f80edb6ed6
Put list_element_layout!
macro into mono
2023-01-28 02:01:02 +01:00
Ayaz Hafiz
03ece6e274
Update llvm backend
2023-01-11 14:39:10 -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
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
0011636ba9
Allow all the arguments
2022-12-29 11:42:24 -06:00
Ayaz Hafiz
512a1721ae
Push mutable layout interner through llvm backend
2022-12-29 10:04:43 -06:00
Ayaz Hafiz
e4b5252e51
List takes interned element
2022-12-29 08:52:37 -06:00
Folkert
4ef541395a
remove dbg lowlevel
2022-12-22 02:45:09 +01:00
Folkert
7536a5b8b0
remove some commented code
2022-12-20 16:46:45 +01:00
Folkert
12ec3189c8
and the final one
2022-12-20 16:45:53 +01:00
Folkert
acf22ebf7e
fix 32-bit wasm to num conversion
2022-12-20 16:34:24 +01:00
Folkert
bb4ff34aaa
be more precise with zig return types
2022-12-20 15:43:11 +01:00
Folkert
9bf8d65170
upgrade most build_load usages
2022-12-20 00:11:45 +01:00
Folkert de Vries
f550f049db
Merge pull request #4768 from roc-lang/expects-store-specialized-variable
...
Support using dbg/expect in polymorphic functions
2022-12-16 00:10:40 +01:00
Ayaz Hafiz
a96225e92e
Store specialized variable for use in dbg as fake symbol in lowlevel call
2022-12-14 17:00:37 -06:00
Ayaz Hafiz
fe90355265
Store specialized variables of expect lookups in expect frames
2022-12-14 17:00:36 -06:00