From: Andrea Corallo Date: Tue, 6 Aug 2019 16:41:41 +0000 (+0200) Subject: insert page breaks X-Git-Tag: emacs-28.0.90~2727^2~1317 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=dba7034ea10fb394b0dcf91256b7df094218119f;p=emacs.git insert page breaks --- diff --git a/src/comp.c b/src/comp.c index 5a5ac69e622..7ca0aec45d3 100644 --- a/src/comp.c +++ b/src/comp.c @@ -948,6 +948,11 @@ emit_PURE_P (gcc_jit_rvalue *ptr) PURESIZE)); } + +/*************************************/ +/* 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. */ @@ -979,7 +984,7 @@ emit_mvar_val (Lisp_Object mvar) } static void -emit_ncall_prolog (EMACS_UINT n) +emit_limple_ncall_prolog (EMACS_UINT n) { /* nargs will be known at runtime therfore we emit: @@ -1046,7 +1051,6 @@ emit_ncall_prolog (EMACS_UINT n) list_args)); } - static gcc_jit_rvalue * emit_limple_call (Lisp_Object arg1) { @@ -1285,7 +1289,7 @@ emit_limple_insn (Lisp_Object insn) 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)) { @@ -1310,6 +1314,11 @@ emit_limple_insn (Lisp_Object insn) } } + +/****************************************************************/ +/* Inline function definition and lisp data structure follows. */ +/****************************************************************/ + /* struct Lisp_Cons definition. */ static void @@ -1998,6 +2007,11 @@ define_bool_to_lisp_obj (void) } + +/**********************************/ +/* 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. */) @@ -2341,11 +2355,14 @@ syms_of_comp (void) } + /******************************************************************************/ /* 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);