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
Andy Wingo
7e0b0be1ba
Fix GPR temporary selection
2019-05-15 16:26:18 +02:00
Andy Wingo
09e71475f4
Allow a backend to have multiple temporary registers
2019-05-15 16:19:33 +02:00
Andy Wingo
5b8262e804
Rework register saving to avoid push/pop
...
Push and pop are not well supported on AArch64, so we might as well just
bump the stack pointer once and fill in by offset.
2019-05-15 15:41:02 +02:00
Andy Wingo
0bfdcc7016
Refactor to add support for constant tables, shifted relocs
2019-05-14 15:53:25 +02:00
Andy Wingo
19e7712358
First pass at aarch64 assembler port
2019-05-14 15:46:19 +02:00
Mark H Weaver
65d98d8fd2
Update iconv.m4 from gnulib.
...
* m4/iconv.m4: Update from gnulib-v0.1-2176-ga79f2a287.
2019-05-14 01:44:02 -04:00
Andy Wingo
fc9b474da6
Refactor some bits from x86 to lightening
2019-05-10 14:14:32 +02:00
Andy Wingo
f7080facb4
Refactor to move temp register acquire to core
2019-05-09 16:02:39 +02:00
Andy Wingo
1b98734c82
Fix eta-reduction of prompts
...
* module/language/cps/simplify.scm (eta-reduce): Fix renaming of labels
referenced by prompts. Thanks a million to Stefan Israelsson Tampe
for the report and the fix! Fixes #33652 .
2019-05-08 22:26:35 +02:00
Andy Wingo
638846dc61
Merge from upstream lightening
2019-05-08 21:46:57 +02:00
Andy Wingo
570f361c6c
Remove Sparc support
...
Sadly, this is a dead architecture, without an official Debian port.
Rest in peace!
2019-05-08 21:44:03 +02:00
Andy Wingo
ced3c42dee
Remove hppa support
...
This is a dead architecture without an official Debian port.
2019-05-08 21:44:03 +02:00
Andy Wingo
d51bd7d592
Remove alpha support
...
This is a dead architecture without an official Debian port.
2019-05-08 21:44:01 +02:00
Andy Wingo
80f79fca93
Remove ia64 (itanium) support
...
This is a dead architecture without an official Debian port.
2019-05-08 21:37:40 +02:00
Mark H Weaver
7c2b48a6bd
Strings, i18n: Limit the use of alloca to approximately 8 kilobytes.
...
* libguile/i18n.c (SCM_MAX_ALLOCA): New macro.
(SCM_STRING_TO_U32_BUF): Accept an additional variable to remember
whether we used malloc to allocate the buffer. Use malloc if the
allocation size is greater than SCM_MAX_ALLOCA.
(SCM_CLEANUP_U32_BUF): New macro.
(compare_u32_strings, compare_u32_strings_ci, str_to_case): Adapt.
* libguile/strings.c (SCM_MAX_ALLOCA): New macro.
(normalize_str, unistring_escapes_to_r6rs_escapes): Use malloc if the
allocation size is greater than SCM_MAX_ALLOCA.
* test-suite/tests/i18n.test, test-suite/tests/strings.test: Add tests.
2019-05-07 04:41:30 -04:00