emacs-devel
[Top][All Lists]
Advanced

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

Re: MPS: weak hash tables


From: Pip Cet
Subject: Re: MPS: weak hash tables
Date: Sun, 07 Jul 2024 10:57:09 +0000

On Sunday, July 7th, 2024 at 09:24, Gerd Möllmann <gerd.moellmann@gmail.com> 
wrote:
> Pip Cet pipcet@protonmail.com writes:
> > > > Hm, maybe we are missing out on something here, in igc. I don't remember
> > > > that I balance in igc.
> > 
> > Do we remove intervals at all with igc? It looks to me like they're
> > partially-weak objects, effectively, and we scan them strongly,
> > removing them only when the buffer dies?
> 
> 
> Balancing only changes the tree structure, without freeing nodes, AFAIR.
> But that could be wrong. It's been a long time since I looked closer at
> that tree.
> 
> Wrt to weakness, I don't think there are weak references.

Oh, you're right! That's a relief.

> The big
> difference to the non-MPS case is that struct interval is subject to GC
> at all, they are malloc'd without igc. I didn't see another way to
> handle their plist otherwise. Making them malloc'd roots would have
> meant too many roots for my taste. I have currently ca. 20.000 live
> intervals for example, after GC.

Does there have to be a big difference at all, or is it possible the test is 
broken on vanilla Emacs, and it just so happens that GC happens at the right 
time and hides that bug?

The attached patch to Emacs master makes

make -C test lisp/emacs-lisp/ert-tests

run out of memory for me (again, on master, nothing special). I don't think it 
should: all it does is modify the test that runs before.

So is it possible this isn't all that MPS-specific?

Pip

Attachment: 0001-ert-tests.patch
Description: Text Data


reply via email to

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