aboutsummaryrefslogtreecommitdiffstats
path: root/src/bytecode.c
diff options
context:
space:
mode:
authorNickolas Lloyd2016-12-23 00:44:45 -0500
committerNickolas Lloyd2016-12-23 10:54:54 -0500
commitb84c200793be61115c956237ca435462ef0ae230 (patch)
tree234b2a1cf320cbc2175b423b1a3477071a29c879 /src/bytecode.c
parent98040bfcfb05bfc2a60454bab16a15a5d0d9edec (diff)
downloademacs-b84c200793be61115c956237ca435462ef0ae230.tar.gz
emacs-b84c200793be61115c956237ca435462ef0ae230.zip
Make JIT support entirely optional.
; * src/bytecode-jit.c: ; * src/bytecode.c: ; * src/bytecode.h: ; * src/emacs.c: ; * src/lisp.h: Add guards around all JIT-related code.
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index 76ec066c637..6567039765d 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -1287,20 +1287,23 @@ Lisp_Object
1287exec_byte_code (Lisp_Object byte_code, Lisp_Object args_template, 1287exec_byte_code (Lisp_Object byte_code, Lisp_Object args_template,
1288 ptrdiff_t nargs, Lisp_Object *args) 1288 ptrdiff_t nargs, Lisp_Object *args)
1289{ 1289{
1290#ifdef HAVE_LIBJIT
1290 if (AREF (byte_code, COMPILED_JIT_ID)) 1291 if (AREF (byte_code, COMPILED_JIT_ID))
1291 return jit_exec (byte_code, args_template, nargs, args); 1292 return jit_exec (byte_code, args_template, nargs, args);
1292 else if (!byte_code_jit_on) 1293 else if (byte_code_jit_on)
1293 return exec_byte_code__ (AREF (byte_code, COMPILED_BYTECODE),
1294 AREF (byte_code, COMPILED_CONSTANTS),
1295 AREF (byte_code, COMPILED_STACK_DEPTH),
1296 args_template, nargs, args);
1297 else
1298 { 1294 {
1299 jit_byte_code__ (byte_code); 1295 jit_byte_code__ (byte_code);
1300 return jit_exec (byte_code, args_template, nargs, args); 1296 return jit_exec (byte_code, args_template, nargs, args);
1301 } 1297 }
1298 else
1299#endif
1300 return exec_byte_code__ (AREF (byte_code, COMPILED_BYTECODE),
1301 AREF (byte_code, COMPILED_CONSTANTS),
1302 AREF (byte_code, COMPILED_STACK_DEPTH),
1303 args_template, nargs, args);
1302} 1304}
1303 1305
1306
1304/* `args_template' has the same meaning as in exec_byte_code() above. */ 1307/* `args_template' has the same meaning as in exec_byte_code() above. */
1305Lisp_Object 1308Lisp_Object
1306get_byte_code_arity (Lisp_Object args_template) 1309get_byte_code_arity (Lisp_Object args_template)