[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Mark procedures and LilyPond
From: |
Ludovic Courtès |
Subject: |
Re: Mark procedures and LilyPond |
Date: |
Fri, 06 Nov 2015 14:50:00 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Mark H Weaver <address@hidden> skribis:
> Unfortunately, I doubt this will be sufficient for LilyPond. The small
> example case in <http://bugs.gnu.org/19883>, which is apparently
> representative of how things are typically done in LilyPond, has
> structures like this:
>
> __________ __________
> Objects in | | | |
> GC-managed | SMOB 1 | | SMOB 2 |
> heap |__________| |__________|
> | ^ | ^
> .....................|...|.........................|...|..........
> __v___|___ _________ __v___|___
> Objects in | | | STL | | |
> normal heap |C++ object|--->|container|-->|C++ object|
> (not scanned |__________| |_________| |__________|
> by GC)
Thanks for the picture, that’s very helpful!
I still think we should be able to get rid of GC mark procedures in this
case, sidestepping the bug you describe.
This pattern is very common when writing bindings. I can’t imagine that
there's something insurmountable here. Am I missing something?
Ludo’.