* Re: [Emacs-diffs] trunk r114515: * bytecode.c (exec_byte_code): Use some more volatile variables
[not found] <E1VRzF1-0000fg-0n@vcs.savannah.gnu.org>
@ 2013-10-04 14:05 ` Stefan Monnier
0 siblings, 0 replies; only message in thread
From: Stefan Monnier @ 2013-10-04 14:05 UTC (permalink / raw)
To: Paul Eggert; +Cc: emacs-devel
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
> Emacs-diffs@gnu.org
> https://lists.gnu.org/mailman/listinfo/emacs-diffs
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2013-10-04 14:05 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <E1VRzF1-0000fg-0n@vcs.savannah.gnu.org>
2013-10-04 14:05 ` [Emacs-diffs] trunk r114515: * bytecode.c (exec_byte_code): Use some more volatile variables Stefan Monnier
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.