[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Emacs-diffs] master 19e09cf: Ensure redisplay after evaluation

From: Stefan Monnier
Subject: Re: [Emacs-diffs] master 19e09cf: Ensure redisplay after evaluation
Date: Sat, 07 Nov 2015 18:40:30 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

> @@ -1240,6 +1240,7 @@ set_internal (Lisp_Object symbol, Lisp_Object newval, 
> Lisp_Object where,
>       return;
>      }
> +  maybe_set_redisplay (symbol);
>    sym = XSYMBOL (symbol);
>   start:

In dynamic-binding code, this is a chunk of code that's executed *very*
often, so I expect your change could have a measurable performance impact
(e.g. on Gnus code).

The write-barrier discussed in the past moved this check to within the
SYMBOL_CONSTANT_P test.  More specifically, it turned the
SYMBOL_CONSTANT_P boolean into a field with 3 different values,
depending on whether a write can:
- go through at full-speed
- goes through a watcher function (or call it a "barrier")
- is not allowed at all

This way, assignments to most variables is unaffected.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]