aboutsummaryrefslogtreecommitdiffstats
path: root/src/bytecode-jit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bytecode-jit.c')
-rw-r--r--src/bytecode-jit.c22
1 files changed, 2 insertions, 20 deletions
diff --git a/src/bytecode-jit.c b/src/bytecode-jit.c
index 095892d067c..734371dc772 100644
--- a/src/bytecode-jit.c
+++ b/src/bytecode-jit.c
@@ -605,7 +605,7 @@ emacs_jit_init (void)
605 JIT_SIG (native_integer_p, jit_type_Lisp_Object, jit_type_Lisp_Object); 605 JIT_SIG (native_integer_p, jit_type_Lisp_Object, jit_type_Lisp_Object);
606} 606}
607 607
608static Lisp_Object 608Lisp_Object
609jit_exec (Lisp_Object byte_code, Lisp_Object args_template, ptrdiff_t nargs, Lisp_Object *args) 609jit_exec (Lisp_Object byte_code, Lisp_Object args_template, ptrdiff_t nargs, Lisp_Object *args)
610{ 610{
611 Lisp_Object *top; 611 Lisp_Object *top;
@@ -668,7 +668,7 @@ jit_exec (Lisp_Object byte_code, Lisp_Object args_template, ptrdiff_t nargs, Lis
668 } 668 }
669} 669}
670 670
671static void 671void
672jit_byte_code__ (Lisp_Object byte_code) 672jit_byte_code__ (Lisp_Object byte_code)
673{ 673{
674 ptrdiff_t count = SPECPDL_INDEX (); 674 ptrdiff_t count = SPECPDL_INDEX ();
@@ -2094,24 +2094,6 @@ jit_byte_code__ (Lisp_Object byte_code)
2094 } 2094 }
2095} 2095}
2096 2096
2097Lisp_Object
2098jit_byte_code (Lisp_Object byte_code, Lisp_Object args_template,
2099 ptrdiff_t nargs, Lisp_Object *args)
2100{
2101 if (AREF (byte_code, COMPILED_JIT_ID))
2102 return jit_exec (byte_code, args_template, nargs, args);
2103 else if (!byte_code_jit_on)
2104 return exec_byte_code (AREF (byte_code, COMPILED_BYTECODE),
2105 AREF (byte_code, COMPILED_CONSTANTS),
2106 AREF (byte_code, COMPILED_STACK_DEPTH),
2107 args_template, nargs, args);
2108 else
2109 {
2110 jit_byte_code__ (byte_code);
2111 return jit_exec (byte_code, args_template, nargs, args);
2112 }
2113}
2114
2115DEFUN ("jit-compile", Fjit_compile, Sjit_compile, 1, 1, 0, 2097DEFUN ("jit-compile", Fjit_compile, Sjit_compile, 1, 1, 0,
2116 doc: /* Function used internally in byte-compiled code. 2098 doc: /* Function used internally in byte-compiled code.
2117 The first argument, BYTECODE, is a compiled byte code object. */) 2099 The first argument, BYTECODE, is a compiled byte code object. */)