emacs-devel
[Top][All Lists]
Advanced

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

[RFC] allocating intervals as vectors


From: Dmitry Antipov
Subject: [RFC] allocating intervals as vectors
Date: Wed, 29 Aug 2012 10:11:04 +0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120713 Thunderbird/14.0

This patch converts intervals to a pseudovectors, thus eliminating special
allocation and sweeping stuff.  Although I think that intervals are more
similar to misc objects rather than vectors, they're just too large for
union Lisp_Misc (largest misc objects has 4 full-sized slots and interval
has 6).  Since intervals aren't referenced via Lisp_Objects, we don't need
special pseudovector type and can use PVEC_OTHER.

Also I think that this change may be useful for further GC development.
It's very useful to have the ability to represent all collectable objects
as Lisp_Objects, for example, to avoid tricks when recording inter-generational
pointers - if intervals are usual pseudovectors, interval pointers may be
passed and recorded as Lisp_Objects after introducing PVEC_INTERVAL.

Dmitry

Attachment: pvec_interval.patch
Description: Text document


reply via email to

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