PURESIZE));
}
+\f
+/*************************************/
+/* Code emittes by LIMPLE statemes. */
+/*************************************/
+
/* Emit an r-value from an mvar meta variable.
In case this is a constant that was propagated return it otherwise load it
from frame. */
}
static void
-emit_ncall_prolog (EMACS_UINT n)
+emit_limple_ncall_prolog (EMACS_UINT n)
{
/*
nargs will be known at runtime therfore we emit:
list_args));
}
-
static gcc_jit_rvalue *
emit_limple_call (Lisp_Object arg1)
{
else if (EQ (op, Qncall_prolog))
{
/* Ex: (ncall-prolog 2). */
- emit_ncall_prolog (XFIXNUM (arg0));
+ emit_limple_ncall_prolog (XFIXNUM (arg0));
}
else if (EQ (op, Qsetimm))
{
}
}
+\f
+/****************************************************************/
+/* Inline function definition and lisp data structure follows. */
+/****************************************************************/
+
/* struct Lisp_Cons definition. */
static void
}
+\f
+/**********************************/
+/* Entry points exposed to lisp. */
+/**********************************/
+
DEFUN ("comp-init-ctxt", Fcomp_init_ctxt, Scomp_init_ctxt,
0, 0, 0,
doc: /* Initialize the native compiler context. Return t on success. */)
}
+\f
/******************************************************************************/
/* Helper functions called from the runtime. */
/* These can't be statics till shared mechanism is used to solve relocations. */
/******************************************************************************/
+/* TODO: cleanup */
+
Lisp_Object helper_save_window_excursion (Lisp_Object v1);
void helper_unwind_protect (Lisp_Object handler);