Commit graph

6636 commits

Author SHA1 Message Date
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
Folkert
ea5632c437
pass missing argument to utf8_range 2023-10-09 15:24:39 +02:00
Folkert
a8214f2d06
remove extra dereference 2023-10-09 15:24:39 +02:00
Luke Boswell
b925e6e0bc
fix dev backend symbol name length 2023-10-09 15:24:38 +02:00
Luke Boswell
6fe3a9f927
fix gen_large_when_int aarch64 2023-10-09 15:24:38 +02:00
Agus Zubiaga
b9c003afc6
Format object_builder 2023-10-09 15:24:38 +02:00
Agus Zubiaga
ad127eb395
Add undefined rc procs for LinkedData too 2023-10-09 15:24:37 +02:00
Luke Boswell
99369dec85
implement roc_panic aarch64 2023-10-09 15:24:37 +02:00
Luke Boswell
04867dc2ea
fix pass_bool_record aarch dev backend 2023-10-09 15:24:36 +02:00
Luke Boswell
7de2915fb7
WIP setjmp longjmp roc_panic aarch64 dev 2023-10-09 15:24:36 +02:00
Luke Boswell
f1e049ddc9
fix aarch macos relocation for LinkedData 2023-10-09 15:24:36 +02:00
Folkert
8414e18ffb
attach 12-bit relocation to the addition instruction 2023-10-09 15:24:35 +02:00
Folkert
e1f173fb95
fix missing data ptr relocation for aarch64 2023-10-09 15:24:35 +02:00
Folkert
82b96395e2
fix argument passing for systemv 2023-10-09 15:24:35 +02:00
Folkert
42d324299d
fix bug in copying small bits of data (e.g. 3 bytes) 2023-10-09 15:24:34 +02:00
Folkert
66db1ce206
clippy fixes 2023-10-09 15:24:34 +02:00
Agus Zubiaga
27aab8b69a
Use X15 instead of requesting general reg 2023-10-09 15:24:34 +02:00
Agus Zubiaga
1021423e69
Use reg from StorageManager instead of XR while loading args
When a function returns via arg pointer, the caller sets XR (x8) to
the address where the return value goes. We were sometimes using XR
as a temporary register while loading args, which lead to a segfault
when returning.

It will now request a general available register from StorageManager
instead.
2023-10-09 15:24:33 +02:00
Folkert
905dc8cd59
pass small non-recursive tag unions via registers (like records) 2023-10-09 15:24:33 +02:00
Folkert
68dc7108bf
enable all gen_result tests for the dev backend 2023-10-09 15:24:32 +02:00
Folkert
5f9008fbcc
on x86 (systemv, haven't checked windows) pass small structs via registers 2023-10-09 15:24:32 +02:00
Folkert
052ee0cc5f
more boxing tests 2023-10-09 15:24:32 +02:00
Folkert
b410ae5642
fix arithmetic error in copy function 2023-10-09 15:24:31 +02:00
Folkert
6442dc2a94
use the proper temporary register 2023-10-09 15:24:31 +02:00
Folkert
9bf5bd4d39
128-bit structs, properly 2023-10-09 15:24:31 +02:00
Folkert
3a8d4b853b
an attempt at passing bigger values 2023-10-09 15:24:30 +02:00
Folkert
529703d449
fix data pointers 2023-10-09 15:24:30 +02:00
Folkert
ce34d5826b
on aarch64, unify data and function pointers 2023-10-09 15:24:30 +02:00
Folkert
311ae4c7a6
an attempt at function pointers 2023-10-09 15:24:29 +02:00
Elias Mulhall
c3f0e7d6da Fix type annotations for List.chunksOf tests 2023-10-07 21:42:22 -04:00
Anton-4
44eedf7359
fix mono tests 2023-10-07 19:32:09 +02:00
Folkert
94ca207772
formatting 2023-10-07 19:11:37 +02:00
Folkert
60afb79cc7
simplify regex expression strings 2023-10-07 19:11:37 +02:00
Folkert
6ab54c02e2
drop into_iter in some places 2023-10-07 19:11:36 +02:00
Folkert
e6a154765c
silence some redundant closure call warnings caused by macros 2023-10-07 19:11:36 +02:00
Folkert
9cdc49b9db
incorrect implementation of partial_cmp on an Ord type 2023-10-07 19:11:36 +02:00
Folkert
49c42f5ed8
simplify soa Clone impls 2023-10-07 19:11:35 +02:00
Elias Mulhall
b7923ac542 builtin(list): add List.chunksOf 2023-10-07 11:54:34 -04:00
Anton-4
d7a27acfd7
prevent+improve repl erros 2023-09-30 20:34:33 +02:00
Agus Zubiaga
365c65caf1
Format type_annotation.rs and keyword.rs 2023-09-30 01:59:01 -03:00