diff options
| author | Nickolas Lloyd | 2016-12-23 00:44:45 -0500 |
|---|---|---|
| committer | Nickolas Lloyd | 2016-12-23 10:54:54 -0500 |
| commit | b84c200793be61115c956237ca435462ef0ae230 (patch) | |
| tree | 234b2a1cf320cbc2175b423b1a3477071a29c879 /src/bytecode.c | |
| parent | 98040bfcfb05bfc2a60454bab16a15a5d0d9edec (diff) | |
| download | emacs-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.c | 15 |
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 | |||
| 1287 | exec_byte_code (Lisp_Object byte_code, Lisp_Object args_template, | 1287 | exec_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. */ |
| 1305 | Lisp_Object | 1308 | Lisp_Object |
| 1306 | get_byte_code_arity (Lisp_Object args_template) | 1309 | get_byte_code_arity (Lisp_Object args_template) |