emacs-devel
[Top][All Lists]
Advanced

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

Re: [Emacs-diffs] /srv/bzr/emacs/trunk r109327: Generalize INTERNAL_FIEL


From: Stefan Monnier
Subject: Re: [Emacs-diffs] /srv/bzr/emacs/trunk r109327: Generalize INTERNAL_FIELD between buffers, keyboards and frames.
Date: Wed, 01 Aug 2012 19:52:07 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux)

>>> * src/frame.h (FVAR): New macro.
>> Is it really necessary?  To me this just obfuscates the code.
>> If/when it turns out to be needed, it'll be easy enough to introduce.
> I have no ideas why BVAR and KVAR was introduced, but my motivation is:

Then, please undo your changes.  The INTERNAL_FIELD part is fine, but
the new FVAR, WVAR, ... are not.  Maybe it can be useful as an
intermediate step on some separate generational-gc branch, but it
doesn't have its place in trunk: I can't think of any way to make such
macros give realistic performance with anything but a write-barrier, so
such macros will only ever be needed for write accesses and never for
read-accesses.
So you're obfuscating the read-accesses (i.e. the most common case) for
no good reason.
I'm OK with introducing such macros to *set* such fields (i.e. for write
barriers), but not to read them (at least not until there's a really
good case for them).


        Stefan



reply via email to

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