From: Andrea Corallo Date: Sun, 22 Sep 2019 19:28:05 +0000 (+0200) Subject: fix missing direct call parsing in comp back-end X-Git-Tag: emacs-28.0.90~2727^2~1118 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9b5f8ebb5bb970c34400b149190b2d16886ae814;p=emacs.git fix missing direct call parsing in comp back-end --- diff --git a/src/comp.c b/src/comp.c index 4905dbfdcaf..52309fe8217 100644 --- a/src/comp.c +++ b/src/comp.c @@ -1316,6 +1316,17 @@ emit_limple_insn (Lisp_Object insn) gcc_jit_block_add_eval (comp.block, NULL, emit_limple_call_ref (args, false)); } + else if (EQ (op, Qdirect_call)) + { + gcc_jit_block_add_eval ( + comp.block, NULL, + emit_simple_limple_call (XCDR (insn), comp.lisp_obj_type, true)); + } + else if (EQ (op, Qdirect_callref)) + { + gcc_jit_block_add_eval (comp.block, NULL, + emit_limple_call_ref (XCDR (insn), true)); + } else if (EQ (op, Qset)) { Lisp_Object arg1 = SECOND (args); @@ -1328,7 +1339,7 @@ emit_limple_insn (Lisp_Object insn) res = emit_limple_call_ref (XCDR (arg1), false); else if (EQ (FIRST (arg1), Qdirect_call)) res = emit_simple_limple_call (XCDR (arg1), comp.lisp_obj_type, true); - else if (EQ (FIRST (arg1), Qcallref)) + else if (EQ (FIRST (arg1), Qdirect_callref)) res = emit_limple_call_ref (XCDR (arg1), true); else ice ("LIMPLE inconsistent arg1 for op =");