Andy Wingo
9b4870cad3
Merge remote-tracking branch 'lightening/master'
2019-05-21 16:06:11 +02:00
Andy Wingo
b67c4ed1e1
Avoid recursive pool emit for aarch64; add another overflow check
2019-05-21 16:05:03 +02:00
Andy Wingo
ec9fa9561b
Merge remote-tracking branch 'lightening/master'
2019-05-21 15:35:15 +02:00
Andy Wingo
33754ba8c7
AArch64 fix
2019-05-21 15:34:40 +02:00
Andy Wingo
7bc95fde98
Merge remote-tracking branch 'lightening/master'
2019-05-21 15:30:56 +02:00
Andy Wingo
b7f367165f
Various fixes for as-needed emission of literal pool
2019-05-21 15:25:08 +02:00
Andy Wingo
12e0063022
Merge remote-tracking branch 'lightening/master'
2019-05-21 14:21:42 +02:00
Andy Wingo
568fdecc86
Fix literal pool emission on armv7
2019-05-21 14:19:48 +02:00
Andy Wingo
da0cc5d3e6
Bless enter_mcode as a function pointer
...
* libguile/jit.c (initialize_jit): Bless enter_mcode, to allow ARMv7
interworking.
2019-05-21 14:02:27 +02:00
Andy Wingo
2feb4cf419
Merge remote-tracking branch 'lightening/master'
2019-05-21 14:00:55 +02:00
Andy Wingo
0518651bfd
Expose API to bless function pointers
...
On ARMv7, we need to set the low bit to indicate that we're in
thumb-land.
2019-05-21 14:00:04 +02:00
Andy Wingo
e00936d46b
Allow jit_end to fail
...
* libguile/jit.c (emit_code): Emitting a constant table might cause us
to fail.
2019-05-21 13:36:37 +02:00
Andy Wingo
2876f054e8
Merge remote-tracking branch 'lightening/master'
2019-05-21 12:44:23 +02:00
Andy Wingo
ef7abb568a
Fix typo in previous commit, doh
2019-05-21 12:44:00 +02:00
Andy Wingo
107926f8dd
Fix allocator passed to lightening
...
* libguile/jit.c (jit_alloc_fn): On targets that need a dynamically
allocated literal pool, we will need to trace that pool, so pass a
pointerful malloc. Fixes JIT on AArch64.
2019-05-21 12:39:55 +02:00
Andy Wingo
a4875baa4e
Merge remote-tracking branch 'lightening/master'
2019-05-21 12:39:34 +02:00
Andy Wingo
d2c15dd6cd
Clear literal pool more thoroughly
2019-05-21 12:38:53 +02:00
Andy Wingo
03ceca9a2b
Merge remote-tracking branch 'lightening/master'
2019-05-21 12:25:14 +02:00
Andy Wingo
723f70ee11
Clear missing bit from literal pool
2019-05-21 12:24:20 +02:00
Andy Wingo
f81f43591f
Merge remote-tracking branch 'lightening/master'
2019-05-21 12:14:50 +02:00
Andy Wingo
f49752eac0
Avoid using x18 on AArch64
2019-05-21 12:02:40 +02:00
Andy Wingo
66b96f9359
Merge remote-tracking branch 'lightening/master'
2019-05-20 21:36:17 +02:00
Andy Wingo
58fc136722
Fix bounds checking on negative ldr offsets for aarch64
2019-05-20 21:35:42 +02:00
Andy Wingo
e057ea01f6
Merge remote-tracking branch 'lightening/master'
2019-05-20 15:48:27 +02:00
Andy Wingo
2e53911c22
Update README
2019-05-20 15:45:51 +02:00
Andy Wingo
c671c0868e
Fix CI on ARMv7
2019-05-20 15:38:37 +02:00
Andy Wingo
0b5f05a8a5
Attempt to get CI working on ARMv7
2019-05-20 15:30:06 +02:00
Andy Wingo
0b7c0367d4
Add ARMv7 testing to CI
2019-05-20 15:25:03 +02:00
Andy Wingo
0b723c0401
ARMv7 backend passing all tests!
2019-05-20 15:20:33 +02:00
Andy Wingo
7dd18bddd7
ARMv7 backend compiling without warnings
2019-05-20 11:02:21 +02:00
Andy Wingo
8ce07131f1
Beginnings of VFP port to lightening
2019-05-19 23:29:10 +02:00
Andy Wingo
1ea34693cb
Port of arm-cpu.c to current lightening
2019-05-19 22:21:50 +02:00
Andy Wingo
b71ddba1f7
Beginnings of ARMv7 backend
2019-05-17 10:59:59 +02:00
Andy Wingo
0da87968d1
Remove unused jit_{gpr,fpr}_is_callee_save
2019-05-17 10:59:05 +02:00
Andy Wingo
eaf702765d
Remove software floating-point ARMv7 support; ARMv7 test env
2019-05-17 09:39:01 +02:00
Andy Wingo
c0e9302e9f
Update README and guix invocations in test suite
2019-05-16 13:56:56 +02:00
Andy Wingo
43ea9aee2c
Attempt to fix CI on Debian for AArch64
2019-05-16 12:43:35 +02:00
Andy Wingo
77c4b56a6d
Attempt to fix CI on Debian
2019-05-16 12:37:54 +02:00
Andy Wingo
da98f48ce7
Attempt to fix CI on Debian
2019-05-16 12:28:07 +02:00
Andy Wingo
2badf61add
Attempt to fix CI on Debian
2019-05-16 12:26:35 +02:00
Andy Wingo
d6e23795d1
Attempt to fix CI on Debian
2019-05-16 12:24:00 +02:00
Andy Wingo
f679e9e8af
Attempt to fix CI on Debian
2019-05-16 12:22:18 +02:00
Andy Wingo
8977016a89
Fix YAML for CI
2019-05-16 12:11:12 +02:00
Andy Wingo
826d5a95c3
Fix dpkg --add-architecture invocation
2019-05-16 12:08:22 +02:00
Andy Wingo
926275e123
Add support for aarch64 in CI
2019-05-16 12:03:38 +02:00
Andy Wingo
9d4185af2b
Remove jit_nop
...
Instead, jit_align will call nop() internally. You can't nop 3 bytes on
most architectures.
2019-05-16 11:40:24 +02:00
Andy Wingo
f2d7321504
Aarch64 backend avoids needless temporary register allocation
2019-05-16 11:31:50 +02:00
Andy Wingo
9638e4f169
Fix a couple bugs related to aarch64 literal pools
2019-05-16 11:03:49 +02:00
Andy Wingo
9c9389ad2b
Fix enter/leave JIT ABI
2019-05-16 10:45:44 +02:00
Andy Wingo
a643f99d68
Fix compilation on aarch64
2019-05-16 10:19:02 +02:00