[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Emacs-diffs] trunk r114515: * bytecode.c (exec_byte_code): Use some
From: |
Stefan Monnier |
Subject: |
Re: [Emacs-diffs] trunk r114515: * bytecode.c (exec_byte_code): Use some more volatile variables |
Date: |
Fri, 04 Oct 2013 10:05:21 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
Could we declare those new vars just locally within the Bpushhandler code?
Stefan
> + Lisp_Object *volatile vectorp_volatile;
> #ifdef BYTE_CODE_SAFE
> - ptrdiff_t const_length;
> - Lisp_Object *stacke;
> - ptrdiff_t bytestr_length;
> + ptrdiff_t volatile const_length;
> + Lisp_Object *volatile stacke;
> + ptrdiff_t volatile bytestr_length;
> #endif
> struct byte_stack stack;
> + struct byte_stack volatile stack_volatile;
> Lisp_Object *top;
> Lisp_Object result;
> enum handlertype type;
> @@ -1119,16 +1122,25 @@
> PUSH_HANDLER (c, tag, type);
> c->bytecode_dest = dest;
> c->bytecode_top = top;
> + count_volatile = count;
> + stack_volatile = stack;
> + vectorp_volatile = vectorp;
> +
> if (sys_setjmp (c->jmp))
> {
> struct handler *c = handlerlist;
> + int dest;
> top = c->bytecode_top;
> - int dest = c->bytecode_dest;
> + dest = c->bytecode_dest;
> handlerlist = c->next;
> PUSH (c->val);
> CHECK_RANGE (dest);
> + stack = stack_volatile;
> stack.pc = stack.byte_string_start + dest;
> }
> +
> + count = count_volatile;
> + vectorp = vectorp_volatile;
> NEXT;
> }
> _______________________________________________
> Emacs-diffs mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/emacs-diffs
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Emacs-diffs] trunk r114515: * bytecode.c (exec_byte_code): Use some more volatile variables,
Stefan Monnier <=