Commit Graph

6 Commits

Author SHA1 Message Date
Matthew Flatt
6395bd92ff fix foreign-callable handling of bytevector arguments
This is a follow-up to 276f8da076, where `(%tc-ref cp)` was supposed
to be preserved by moving it into %cp, but intrinisics for bytevector
arguments can kill %cp. Use a temporary to expose things properly to
the register allocator.

original commit: 3a29db06a452e46e69ebcde524b3b9acb435dec3
2020-06-06 19:44:40 -06:00
Matthew Flatt
237f0e4fa4 add a __varargs FFI convention modifier
The varargs convention differs from the fixed-argument convention on
arm32le.

original commit: b2029432e66f188911194cdb8eea2cb3725f5cd3
2020-06-06 09:28:24 -06:00
Matthew Flatt
7027a71f01 fix string allocation for callable argument or foreign-call return
The `dofretu...*` intrinsics used %ac1 without declaring it as a used
registers, which effectively broke register allocation for handling
string/bytevector foreign-call results or callable arguments.

original commit: 993fb9036acad5445319f458fd971b1a1d8e9f84
2019-01-27 13:01:57 -07:00
Matthew Flatt
54ffb5dfbe reliably preserve cp in thread context for S_call_help
Also, for completeness, correct the listing of callee-save registers
in callable return for x86 & x86_64.

original commit: 4cd942be6ab2eb5e02f6d6c5c509db3131bd015f
2018-12-05 07:53:49 -07:00
Bob Burger
831ea8ad18 changed copyright year to 2017
7.ss, scheme.1.in, comments of many files

original commit: 06f858f9a505b9d6fb6ca1ac97234927cb2dc641
2017-04-06 11:41:33 -04:00
dyb
1356af91b3 initial upload of open-source release
original commit: 47a210c15c63ba9677852269447bd2f2598b51fe
2016-04-26 10:04:54 -04:00