1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-17 01:00:20 +02:00

Make JIT_RET, JIT_FRET and JIT_SP private.

* check/add.tst, check/allocai.tst, check/bp.tst, check/divi.tst,
	check/fib.tst, check/lightning.c, include/lightning/jit_arm.h,
	include/lightning/jit_mips.h, include/lightning/jit_ppc.h,
	include/lightning/jit_private.h, include/lightning/jit_x86.h:
	Make JIT_RET, JIT_FRET and JIT_SP private. These should not be
	used in any operations due to frequently having special
	constraints (usually JIT_FRET). JIT_FP must be made available
	because it must be used as the base register to access stack
	space allocated with jit_allocai.
This commit is contained in:
pcpa 2013-01-17 16:13:29 -02:00
parent 39afbe1c40
commit c5421a8c76
13 changed files with 51 additions and 46 deletions

View file

@ -42,6 +42,32 @@
# define HIDDEN /**/
#endif
#if defined(__i386__) || defined(__x86_64__)
# define JIT_SP _RSP
# define JIT_RET _RAX
# if __WORDSIZE == 32
# define JIT_FRET _ST0
# else
# define JIT_FRET _XMM0
# endif
#elif defined(__mips__)
# define JIT_SP _SP
# define JIT_RET _V0
# define JIT_FRET _F0
#elif defined(__arm__)
# define JIT_SP _R13
# define JIT_RET _R0
# if defined(__ARM_PCS_VFP)
# define JIT_FRET _D0
# else
# define JIT_FRET _R0
# endif
#elif defined(__ppc__)
# define JIT_SP _R1
# define JIT_RET _R3
# define JIT_FRET _F1
#endif
#define jit_size(vector) (sizeof(vector) / sizeof((vector)[0]))
#define jit_reg_free_p(regno) \