***lampilelo_ is now known as lampilelo
<wingo>some progress on gc playground -- improved parallelism for the mutator, and i now have bump-pointer allocation even with mark-sweep <wingo>i have a list of a dozen things or so that need implementing. hot path to guile is conservative roots, finalizers, weak maps/refs. i would like to poke opportunistic evacuation à la immix too. and for the workbench at least, generational collection <wingo>not sure if i will be able to get generational collection in guile but we'll see <civodul>wingo: when you say mark-sweep, does that include scanning the C stack and data area? <wingo>civodul: that would be the "conservative roots" part, not yet implemented. if a heap object is referenced by a conservative root, it is pinned and can't be moved by gc <wingo>the current gc i am working with can pin individual objects, and can re-use memory on that object's page -- i.e. it reclaims either by mark-sweep or (eventually) evacuation <wingo>so you get compaction / defragmentation when it's profitable and possible and can leave objects in place otherwise <mwette>wingo: To extend debugging, is right approach to build up assembler to add lexical-block DIEs (which contain boxed -- and maybe unboxed -- variables)? <sneek>I've been running for 21 days <sneek>This system has been up 3 weeks, 14 hours, 45 minutes <wingo>mwette: i think lexical-block DIEs might not be possible, lifetimes don't necessarily match lexical blocks right? <mwette>I was thinking assocating a range of source locations with a lexical block, then variables in scope would be in all parent lexical blocks. <mwette>lexical-block die include low_pc and high_pc <mwette>but not sure how to associate those with frames <civodul>fun: "guix challenge guile" shows that ice-9/ftw.go is not reproducible <mwette>ironic that ftw => "for the win"