From 5b62317b697c04b4120a026e53309e04e15bd9e0 Mon Sep 17 00:00:00 2001 From: Nickolas Lloyd Date: Sun, 29 Jan 2017 13:22:06 -0500 Subject: Small speed improvement for JITed lisp function dispatch * src/alloc.c (make-byte-code): * src/bytecode-jit.c (jit_byte_code__): * src/bytecode.c [HAVE_LIBJIT] (exec_byte_code): * src/eval.c (funcall_lambda): * src/lisp.h (funcall_lambda): Store pointer to bytecode execution function (either `exec_byte_code' or `jit_exec') in Lisp_Compiled objects to avoid the need for an extra function call in `exec_byte_code'. --- src/bytecode.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/bytecode.c') diff --git a/src/bytecode.c b/src/bytecode.c index 8b132caac0a..3e64d2f42b6 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -1291,9 +1291,7 @@ exec_byte_code (Lisp_Object byte_code, Lisp_Object args_template, ptrdiff_t nargs, Lisp_Object *args) { #ifdef HAVE_LIBJIT - if (AREF (byte_code, COMPILED_JIT_CTXT) != (Lisp_Object )NULL) - return jit_exec (byte_code, args_template, nargs, args); - else if (byte_code_jit_on) + if (byte_code_jit_on) { jit_byte_code__ (byte_code); return jit_exec (byte_code, args_template, nargs, args); -- cgit v1.2.1