From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel 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 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1380896266 4273 80.91.229.3 (4 Oct 2013 14:17:46 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 4 Oct 2013 14:17:46 +0000 (UTC) Cc: emacs-devel@gnu.org To: Paul Eggert Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Oct 04 16:17:50 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VS6CT-0002l5-Sf for ged-emacs-devel@m.gmane.org; Fri, 04 Oct 2013 16:17:50 +0200 Original-Received: from localhost ([::1]:48248 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VS6CR-0001rx-CJ for ged-emacs-devel@m.gmane.org; Fri, 04 Oct 2013 10:17:47 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45399) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VS6CK-0001ro-0M for emacs-devel@gnu.org; Fri, 04 Oct 2013 10:17:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VS60R-0004Aj-Jw for emacs-devel@gnu.org; Fri, 04 Oct 2013 10:06:14 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.182]:38208) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VS60R-0004Ad-D0 for emacs-devel@gnu.org; Fri, 04 Oct 2013 10:05:23 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EABK/CFFLd/fx/2dsb2JhbABEDr8AF3OCHwEBAQMBAQEkLxgLBQsLNBIUEwEEDSQTiBEMwR0EkQoDk1+LfYUegV6COVo X-IPAS-Result: Av8EABK/CFFLd/fx/2dsb2JhbABEDr8AF3OCHwEBAQMBAQEkLxgLBQsLNBIUEwEEDSQTiBEMwR0EkQoDk1+LfYUegV6COVo X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="34745554" Original-Received: from 75-119-247-241.dsl.teksavvy.com (HELO pastel.home) ([75.119.247.241]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 04 Oct 2013 10:01:55 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id 8016B60314; Fri, 4 Oct 2013 10:05:21 -0400 (EDT) In-Reply-To: (Paul Eggert's message of "Fri, 04 Oct 2013 06:51:59 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 206.248.154.182 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:163848 Archived-At: 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