1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-16 08:40:19 +02:00

Make it clear stdarg like abstraction is not supported.

* include/lightning.h, include/lightning/jit_private.h,
	lib/jit_arm.c, lib/jit_mips.c, lib/jit_ppc.c, lib/jit_x86.c,
	lib/lightning.c: Make jit_ellipsis implementation not
	backend specific. It is not intended to handle va_list
	like objects at runtime, as jit_arg* and jit_getarg*
	return constant values resolved at parse time, so, effectively
	it is not possible to create printf like jit functions, as
	there is no va_start, va_arg, va_end, etc, abstraction. This
	limitation should be kept for the sake of making new ports
	easier.
This commit is contained in:
pcpa 2012-12-14 15:21:39 -02:00
parent 074056499f
commit 03559bb8cc
8 changed files with 67 additions and 45 deletions

View file

@ -95,13 +95,6 @@ typedef jit_int32_t jit_fpr_t;
#define jit_class(reg) ((reg) & 0xffff0000)
#define jit_regno(reg) ((reg) & 0x00007fff)
#define jit_call_default 0
/* assume only varags functions called are printf like, that is,
* without a declared float/double argument */
/* FIXME currently no way to create a varargs (or non varargs) jit function
* if calling sequence changes for float/double arguments */
#define jit_call_varargs 1
typedef struct jit_node jit_node_t;
typedef struct jit_state jit_state_t;