]> git.eshelyaron.com Git - emacs.git/commitdiff
; Fix errors introduced during merge.
authorNickolas Lloyd <ultrageek.lloyd@gmail.com>
Thu, 2 Feb 2017 02:07:03 +0000 (21:07 -0500)
committerNickolas Lloyd <ultrageek.lloyd@gmail.com>
Thu, 2 Feb 2017 02:10:32 +0000 (21:10 -0500)
src/bytecode-jit.c
src/bytecode.c
src/lisp.h

index 974b6aabac2ab8c2ff5eaedeb1e20c9c429e8bcf..f97083395ddc27f7c4686160248be81efb704dc1 100644 (file)
@@ -287,9 +287,7 @@ jit_type_t native_unwind_protect_sig;
 static void
 native_unwind_protect (Lisp_Object handler)
 {
-  record_unwind_protect (NILP (Ffunctionp (handler))
-                        ? unwind_body : bcall0,
-                        handler);
+  record_unwind_protect (FUNCTIONP (handler) ? bcall0 : prog_ignore, handler);
 }
 
 jit_type_t native_temp_output_buffer_setup_sig;
@@ -668,17 +666,9 @@ jit_exec (Lisp_Object byte_code, Lisp_Object args_template, ptrdiff_t nargs, Lis
     }
 
   {
-    /* We don't actually need to use this structure to keep track of a
-       stack, since our stack isn't GCed.  We just need to use it as a
-       placeholder in `byte_stack_list' to facilitate proper unwinding. */
-    struct byte_stack stack = {};
-    stack.next = byte_stack_list;
-    byte_stack_list = &stack;
     Lisp_Object (*func)(Lisp_Object *) =
       (void *)AREF (byte_code, COMPILED_JIT_CLOSURE);
-    Lisp_Object ret = func (top);
-    byte_stack_list = byte_stack_list->next;
-    return ret;
+    return func (top);
   }
 }
 
index 02a3f700fddbb52c4d4082b9055e4780e5ba9d05..88df30c9721dcfe239b92ba508c73d0cdb0794ed 100644 (file)
@@ -57,28 +57,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #endif /* BYTE_CODE_METER */
 
-\f
-/* Relocate program counters in the stacks on byte_stack_list.  Called
-   when GC has completed.  */
-
-void
-relocate_byte_stack (struct byte_stack *stack)
-{
-  for (; stack; stack = stack->next)
-    {
-#ifdef HAVE_LIBJIT
-      if (!stack->byte_string_start)
-       continue;
-#endif
-      if (stack->byte_string_start != SDATA (stack->byte_string))
-       {
-         ptrdiff_t offset = stack->pc - stack->byte_string_start;
-         stack->byte_string_start = SDATA (stack->byte_string);
-         stack->pc = stack->byte_string_start + offset;
-       }
-    }
-}
-
 \f
 /* Fetch the next byte from the bytecode stream.  */
 
index 0c444cc766faa567fcb376d7797d2e491a225998..a29335904fdfc6dc2e9daa818d172a71633e4ac4 100644 (file)
@@ -2777,11 +2777,6 @@ CHECK_COMPILED (Lisp_Object x)
 {
   CHECK_TYPE (COMPILEDP (x), Qcompiledp, x);
 }
-INLINE void
-CHECK_BOOL_VECTOR (Lisp_Object x)
-{
-  CHECK_TYPE (BOOL_VECTOR_P (x), Qbool_vector_p, x);
-}
 /* This is a bit special because we always need size afterwards.  */
 INLINE ptrdiff_t
 CHECK_VECTOR_OR_STRING (Lisp_Object x)
@@ -4173,7 +4168,6 @@ extern int read_bytecode_char (bool);
 
 /* Defined in bytecode.c.  */
 extern void syms_of_bytecode (void);
-extern void relocate_byte_stack (struct byte_stack *);
 extern Lisp_Object exec_byte_code (Lisp_Object, Lisp_Object, ptrdiff_t, Lisp_Object *);
 extern Lisp_Object get_byte_code_arity (Lisp_Object);