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
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
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
Anton-4
d7a27acfd7
prevent+improve repl erros
2023-09-30 20:34:33 +02:00