all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* 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.