1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-13 01:00:21 +02:00

mips: Pass tests for variadic jit functions on new abi

* lib/jit_mips-cpu.c: Correct definition of htonr_ul.
	Correct prolog/epilog/va* routines to work on o64 abi.

	* lib/jit_mips-fpu.c: Correct load of double literal
	argument when not using a data buffer.
	Remove alignment correction in vaarg_d if using the
	new mips abi.

	* lib/jit_mips.c: Correct code to allow creating variadic
	jit functions when using the new mips abi.

	* lib/jit_rewind.c: Minor adjust for rewind when using
	the new mips abi, if there are varargs arguments in
	registers.
This commit is contained in:
pcpa 2015-07-03 20:53:34 -03:00
parent c6b8fb2a74
commit 17e78965a2
5 changed files with 118 additions and 19 deletions

View file

@ -55,6 +55,12 @@ _rewind_prolog(jit_state_t *_jit)
#if __arm__
assert(jit_cpu.abi);
_jitc->function->self.size += 64;
#endif
#if __mips__ && NEW_ABI
/* Only add extra stack space if there are varargs
* arguments in registers. */
assert(jit_arg_reg_p(_jitc->function->self.argi));
_jitc->function->self.size += 64;
#endif
_jitc->function->self.argi =
_jitc->function->self.argf = _jitc->function->self.argn = 0;