GNU bug report logs -
#76180
[feature/igc] Remaining known tracing issues
Previous Next
Full log
Message #11 received at 76180 <at> debbugs.gnu.org (full text, mbox):
"Paul Eggert" <eggert <at> cs.ucla.edu> writes:
> On 2/10/25 07:15, Pip Cet wrote:
>> a potential rewrite to always keep jump buffers on the C
>> stack (Paul).
>
> Another possibility would be to change igc_alloc_handler so that jump
> buffers on the heap are scanned conservatively.
Thanks!
That's the stop-gap patch, yes: turning it into an "ambiguous" root.
> Both possibilities have merits; I am not sure which would be better.
(Note that MPS does not allow ordinary heap objects to be scanned
conservatively, just roots; and while it does allow roots to be
protected with memory barriers, we don't make use of that yet. My
understanding from reading some comments in the MPS code is that it's
strongly optimized for not having additional large unprotected roots in
addition to the C stack).
My main argument for preferring the (slightly harder) solution of
keeping the jump buffers on the C stack is that the handlerlist could
shrink once again; right now, a large handlerlist never shrinks and
treats many disjoint areas as a permanent ambiguous root, IIUC. As my
hope is to make GC more frequent and use protection more, large
unprotected roots seem like a problem right now.
Pip
This bug report was last modified 176 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.