[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.
Stefan
- Re: [Emacs-diffs] master 19e09cf: Ensure redisplay after evaluation,
Stefan Monnier <=
Re: [Emacs-diffs] master 19e09cf: Ensure redisplay after evaluation, John Wiegley, 2015/11/09