Commit graph

496 commits

Author SHA1 Message Date
Richard Feldman
84542b2b02
Drop obsolete comment
There's an open design question as to whether we want to commit
to supporting this, so dropping the comment.
2023-06-21 08:46:40 -04:00
Hannes
97fa6758d0 Rename trimLeft to trimStart and trimRight to trimEnd 2023-06-19 13:17:59 +08:00
Brendan Hansknecht
829b71aa1f
fully take ownership of memcpy in the builtins 2023-06-03 19:05:19 -07:00
Brendan Hansknecht
a745b57fb2
move cpuid functions into separate assembly file 2023-06-02 16:16:40 -07:00
Brendan Hansknecht
b899b54354
change assembly comment style to hopefully fix windows 2023-06-02 15:54:08 -07:00
Brendan Hansknecht
341ef9bb7b
prefix assembly functions with _ on macos 2023-06-02 15:26:39 -07:00
Brendan Hansknecht
60babcc56e
fix typo 2023-06-02 15:23:07 -07:00
Brendan Hansknecht
7b8bd988d4
change to more specific .balign assembly attribute 2023-06-02 15:23:06 -07:00
Brendan Hansknecht
60e70c6b1b
add workaround for wasm tests 2023-06-02 15:23:06 -07:00
Brendan Hansknecht
8eed06c3e1
avoid repeated calls to cpuid, it is slow 2023-06-02 15:23:06 -07:00
Brendan Hansknecht
718b7f0ce2
setup memcpy dispatch on every call for now 2023-06-02 15:23:06 -07:00
Brendan Hansknecht
75a035e12d
remove all definitions of roc_memcpy 2023-06-02 15:23:05 -07:00
Brendan Hansknecht
ebc6bd3f45
add more impls and memcpy 2023-06-02 15:23:05 -07:00
Brendan Hansknecht
0e2c3e4723
add actual folly implementation of memcpy 2023-06-02 15:23:05 -07:00
Brendan Hansknecht
77624f627b
better extract musl lib 2023-06-02 15:23:05 -07:00
Brendan Hansknecht
159f95aad1
add musl memcpy and avx2 dispatching 2023-06-02 15:23:04 -07:00
Brendan Hansknecht
ca9938bf7c
add memcpy impl to builtins 2023-06-02 15:23:04 -07:00
Folkert de Vries
e59404b6fa
Merge pull request #5495 from roc-lang/dev-backend-nullable-wrapped
Dev backend nullable wrapped
2023-06-01 17:11:14 +02: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
Folkert
f6fafdb019
nullable unwrapped for the dev backend 2023-06-01 00:02:38 +02:00
Brendan Hansknecht
e7906b30a9
add other compiler-rt functions in builtins.o 2023-05-30 14:38:10 -07:00
Brendan Hansknecht
fe4577ce4c
fix typo 2023-05-30 09:38:30 -07:00
Brendan Hansknecht
81e8812f38
Add all fns in compiler-rt that builtins are known to depend on
Also removes the workaround in the surigical linker.
This should mean we should get clear errors if we missed a function instead of crashes/segfaults.
2023-05-30 09:21:59 -07:00
Brendan Hansknecht
0e28423aea
fix segfault in Num.toStr for Dec 2023-05-28 20:37:32 -07:00
Ayaz Hafiz
3585d5bb5b
Implement hash for Dec 2023-05-26 11:38:30 -05:00
Brendan Hansknecht
90636d14c8
add extra note on security 2023-05-26 07:31:35 -07: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
Folkert
317a8880c1
better debug info if dec on invalid pointer 2023-05-14 18:01:47 +02:00
Folkert
dd8739b847
better debug info if inc on invalid pointer 2023-05-14 15:20:43 +02: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
Richard Feldman
df0ab01128
Merge pull request #5348 from basile-henry/basile/num-is-nan
Implement builtins for Num.isNan, Num.isInfinite, and Num.isFinite
2023-05-05 06:15:18 -04:00
Jarl André Hübenthal
e5eb5717ea
replace panic! with internal_error! in compiler modules 2023-05-03 22:11:21 +02:00
Ayaz
ba1f8ffe5f
Merge pull request #5272 from extemporalgenome/markdown-typos-20230410
markdown typo fixes
2023-05-03 10:24:52 -05:00
Folkert
278e2c4604
use std.debug.print 2023-05-03 14:30:03 +02:00
Folkert
85fcd71bdb
use bitcast instead of intcast 2023-05-03 14:28:22 +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
Folkert
05a9b4d601
fix that inc on list was no longer recursive 2023-05-03 01:03:09 +02: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
0bf3eefbf2
dev backend: Num.isMultipleOf 2023-04-27 13:50:27 +02:00
Folkert
9357e1ce2b
export fn does not work for wasm/llvm 2023-04-27 10:44:54 +02:00
Folkert
c6c28e7c5d
implement Crash 2023-04-27 00:29:21 +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
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
Folkert de Vries
6d7e3ddc0c
Merge pull request #5326 from roc-lang/dev-backend-list-map
Dev backend list map
2023-04-26 14:06:23 +02:00
Folkert
312fb23567
add zig builtins for wrapped mul and shift right (for 128-bit ints) 2023-04-26 14:03:50 +02:00
Brendan Hansknecht
0e24403664
enable using other zig libaries in host instead of just str.zig 2023-04-25 14:14:35 -07:00
Folkert
2e41ef68b0
cleanup 2023-04-23 20:23:35 +02:00
Folkert
dd3d0a188e
string is empty for dev backend 2023-04-23 18:16:08 +02:00