Brian Carroll
12c6c25031
wasm: Fix number of args for higher-order lowlevels
2023-10-23 13:50:32 -07:00
Brian Carroll
b3bb477ccb
wasm: Fix struct calling convention for Zig lowlevels
2023-10-23 13:50:31 -07:00
Brian Carroll
4c4344b46c
wasm: delete CallConv, since now Zig==C (hopefully)
2023-10-23 13:50:31 -07:00
Brian Carroll
cc2b8b5d19
wasm: delete ReturnMethod::ZigPackedStruct
2023-10-23 13:50:31 -07:00
Brian Carroll
a590fafa76
Change a file extension .o -> .wasm to make Zig emit wasm
...
Zig 0.9 would prioritise the -target but now it seems to prioritise the file extension
2023-10-23 13:50:31 -07:00
Brendan Hansknecht
f8b787c93a
disable test with bad rounding
2023-10-23 13:50:31 -07:00
Brendan Hansknecht
40a40ef6d2
get examples working
2023-10-23 13:50:31 -07:00
Brendan Hansknecht
398bf2f96c
update rust code to llvm-16 and fix build
...
also update:
- llvm frame address
- erased function type
- dec passing to zig
- gen dev storage size
2023-10-23 13:50:31 -07:00
Brendan Hansknecht
2e2e609547
update zig to 0.11 and update build script
...
Also update memcpy to avoid recursive memcpy due to optimizations.
2023-10-23 13:50:30 -07:00
Richard Feldman
7b83dd6ef9
Fix some UTF-16 on Windows
2023-10-19 22:49:55 -04:00
Richard Feldman
eebec8a378
Add --output to build
, default to app filename
2023-10-19 20:42:28 -04:00
Richard Feldman
77d2136d00
Merge pull request #5913 from roc-lang/dev-builds-lines-only
...
default to `line-tables-only`
2023-10-17 15:21:49 -04:00
Folkert
47d4335cda
cleanup test-gen-dev macro code
2023-10-17 20:02:00 +02:00
Richard Feldman
c5ec8aba4f
Fix to_cc_type a bit
2023-10-17 06:40:16 -04:00
Richard Feldman
2019909922
Use concat! to break up a long string literal
2023-10-15 20:32:20 -04:00
Richard Feldman
1f1b981110
Fix for future clippy
2023-10-15 20:22:03 -04:00
Richard Feldman
f2782e94d5
clippy
2023-10-14 21:49:07 -04:00
Richard Feldman
73f3250b8f
Don't report unhelpful things.
2023-10-14 21:49:06 -04:00
Richard Feldman
08c6a044c4
Improve error handling when mono panics
2023-10-14 21:49:06 -04:00
Richard Feldman
eb135637ef
Compute total_problems rather than asking for it
2023-10-14 21:49:06 -04:00
Richard Feldman
97f252c68b
Fix shut_down_worker_threads! in presence of panic
2023-10-14 21:49:06 -04:00
Richard Feldman
8ee88ba7cb
Minor cleanups
2023-10-14 21:49:06 -04:00
Richard Feldman
a13a3231c7
Exit the process instead of deadlocking on panic
2023-10-14 21:49:05 -04:00
Isaac Van Doren
3df2ace4a6
add test_mono files
2023-10-14 15:38:31 -05:00
Isaac Van Doren
886b855594
add Str.contains to builtins
2023-10-14 14:56:51 -05:00
Richard Feldman
ebd1b16597
Choose CodeModel using roc target, not Rust target
2023-10-10 20:33:27 -04:00
Richard Feldman
b4085b1106
Merge pull request #5897 from roc-lang/dev-backend-eq-void
...
Dev backend: eq void
2023-10-10 12:45:04 -04:00
Richard Feldman
6c10a6a8aa
Merge pull request #5893 from mulias/em/list-chunks-of
...
builtin(list): add List.chunksOf
2023-10-10 09:25:10 -04:00
Folkert
ecf7066e6c
dev backend: provide a hardcoded implementation for equality on VOID
2023-10-10 14:28:43 +02:00
Folkert
beed1e3d6e
account for the tag id when doing a memcpy
2023-10-09 17:55:30 +02:00
Folkert
c0d67edfd3
cleanup
2023-10-09 15:40:28 +02:00
Folkert
b39c592bea
realize all list elements on the stack before writing to the list
2023-10-09 15:24:46 +02:00
Folkert
9118eeac0c
store registers at negative offset vs. the base pointer
2023-10-09 15:24:45 +02:00
Folkert
5368c145cd
make stack cleanup symmetric
...
we were doing things relative to the base pointer, but it got moved back to the caller's base pointer before use. this caused stack corruption
2023-10-09 15:24:45 +02:00
Folkert
7c67f8aafb
some debugging logs
2023-10-09 15:24:45 +02:00
Folkert
be2c31fe91
more detail
2023-10-09 15:24:44 +02:00
Folkert
ef64e37b9b
use stdlib functions instead of intrinsics
2023-10-09 15:24:44 +02:00
Folkert
a4e314593f
actually do not pass the shadow space size
2023-10-09 15:24:43 +02:00
Folkert
c2216dfc9f
the actual fix
2023-10-09 15:24:43 +02:00
Folkert
734cfe9bce
fix how registers are stored/loaded before a function call
2023-10-09 15:24:43 +02:00
Folkert
6510591b60
fix the order
2023-10-09 15:24:42 +02:00
Folkert
ae4df42eab
another attempt
2023-10-09 15:24:42 +02:00
Folkert
968fc04d93
an attempt
2023-10-09 15:24:42 +02:00
Folkert
11bd8445b2
load stack arguments from the right location
2023-10-09 15:24:41 +02:00
Folkert
46e8328056
add test that exhausts argument registers
2023-10-09 15:24:41 +02:00
Folkert
a03772d5cc
use x15 (and not x8) as a temp register
2023-10-09 15:24:41 +02:00
Folkert
1db7a8f2a5
simplify boolean not
2023-10-09 15:24:40 +02:00
Folkert
f39992bd8d
big base offsets
2023-10-09 15:24:40 +02:00
Folkert
aa261c4437
dev backend: correct bounds on negative jumps
2023-10-09 15:24:40 +02:00
Folkert
c749efb64c
properly return a value
...
on aarch64, returning a big value does not happen with a pointer passed as the first argument (x0). The pointer is passed in the return register (x8) instead. Just use a zig return to generate the right code in both cases
2023-10-09 15:24:39 +02:00