mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-20 18:50:21 +02:00
Add basic Itanium port infrastructure.
* include/lightning/jit_ia64.h, lib/jit_ia64-cpu.c, lib/jit_ia64-fpu.c, lib/jit_ia64.c: New files implementing the basic infrastructure of an Itanium port. The code compiles and can generate jit for basic hello world like functions. * check/lightning.c, configure.ac, include/lightning.h, include/lightning/Makefile.am, include/lightning/jit_private.h, lib/Makefile.am, lib/lightning.c: Update for the Itanium port. * lib/jit_mips-cpu.c, lib/jit_mips.c: Correct typo and make the jit_carry register local to the jit_state_t. This matches code reviewed in the Itanium port, that should use the same base logic to handle carry/borrow.
This commit is contained in:
parent
7bdd22bd99
commit
c2e4eb621d
14 changed files with 8296 additions and 26 deletions
|
@ -90,14 +90,6 @@ jit_register_t _rvs[] = {
|
|||
{ _NOREG, "<none>" },
|
||||
};
|
||||
|
||||
/* Could also:
|
||||
* o reserve a register for carry (overkill)
|
||||
* o use MTLO/MFLO (performance hit)
|
||||
* So, keep a register allocated after setting carry, and implicitly
|
||||
* deallocate it if it can no longer be tracked
|
||||
*/
|
||||
static jit_int32_t jit_carry;
|
||||
|
||||
/*
|
||||
* Implementation
|
||||
*/
|
||||
|
@ -110,6 +102,12 @@ void
|
|||
_jit_init(jit_state_t *_jit)
|
||||
{
|
||||
_jitc->reglen = jit_size(_rvs) - 1;
|
||||
/* Could also:
|
||||
* o reserve a register for carry (overkill)
|
||||
* o use MTLO/MFLO (performance hit)
|
||||
* So, keep a register allocated after setting carry, and implicitly
|
||||
* deallocate it if it can no longer be tracked
|
||||
*/
|
||||
jit_carry = _NOREG;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue