1
Fork 0
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:
pcpa 2013-04-25 21:56:32 -03:00
parent 7bdd22bd99
commit c2e4eb621d
14 changed files with 8296 additions and 26 deletions

View file

@ -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;
}