From: Nickolas Lloyd Date: Thu, 2 Feb 2017 02:07:03 +0000 (-0500) Subject: ; Fix errors introduced during merge. X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5d8f2548ceaa5a0b33c08a39f1d6c11071ec63aa;p=emacs.git ; Fix errors introduced during merge. --- diff --git a/src/bytecode-jit.c b/src/bytecode-jit.c index 974b6aabac2..f97083395dd 100644 --- a/src/bytecode-jit.c +++ b/src/bytecode-jit.c @@ -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); } } diff --git a/src/bytecode.c b/src/bytecode.c index 02a3f700fdd..88df30c9721 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -57,28 +57,6 @@ along with GNU Emacs. If not, see . */ #endif /* BYTE_CODE_METER */ - -/* 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; - } - } -} - /* Fetch the next byte from the bytecode stream. */ diff --git a/src/lisp.h b/src/lisp.h index 0c444cc766f..a29335904fd 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -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);