emacs-devel
[Top][All Lists]
Advanced

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

Re: New GC concept


From: Daniel Colascione
Subject: Re: New GC concept
Date: Mon, 7 Jun 2021 11:03:26 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1

On 6/7/21 10:32 AM, Matt Armstrong wrote:

Daniel Colascione <dancol@dancol.org> writes:

Emacs has had the same GC for a decent amount of time now (since the
1980s, really). I spent some time in 2020 rewriting it from scratch. I
haven't had time to work on the new GC recently, but I figure I'd throw
it out here to get some feedback on the general concept.

Check out
https://github.com/dcolascione/emacs-1/blob/newgc-wip/src/alloc.c,
specifically the big doc comment on top
Hey Daniel, I am no GC expert but I'm liking this a lot.  I love the
block comments in your alloc.c -- very clear and easy to understand.
You're in a uniquely good position to work on this.  I hope you
continue!
Thank you!
I'm curious about the answer to one of the unanswered questions in your
alloc.c FAQ: What about systems without virtual memory?  Asked another
way: can we reasonably expect to entirely replace the current GC with
this new one?  Are there platforms Emacs supports today that would be
left behind?

We can definitely replace the existing GC with the new GC everywhere. I've designed the new GC to work on systems without virtual memory facilities. On these systems, we'll have to run the GC in non-concurrent, non-generational mode, but that's no regression from what we have today. We'll also probably want to use a smaller block size on these systems to reduce fragmentation overhead.




reply via email to

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