[cells-devel] Fwd: Cells on ABCL

Kenneth Tilton kentilton at gmail.com
Thu Jun 4 20:27:41 UTC 2009



Alessio Stalla wrote:
> I have found out the problem with Cells on abcl after a bit of debugging.
> 
> The function c-unlink-useds in link.lisp uses delete, which somehow
> destructively modifies something it should not - 

Right you are. But it is not doing it should not -- that labels from 
gets passed the same structure being acted on by the delete, so the 
outer guy of course sees that.

I have always hated that code, but one attempt to clean it up did have a 
performance hit so it has to stay a little ugly.

I think the remove works but is the wrong fix (and will be a performance 
killer scaled up). I see that the outer block of code does its own 
cleanup of useds, so it is being done twice -- very efficiently, but 
twice. What I think needs doing is avoiding the inner delete by mutating 
the list differently. I will stare at it and see what I can come up with.

Thx for the detective work.

kt

the list of useds
> gets one item shorter (not the list inside the cell but the list
> "useds" in c-unlink-unused, which apparently shares structure with the
> list inside the cell, but who knows). Replacing delete with remove
> does the trick. I don't know if this is caused by abcl's delete being
> buggy but I doubt it, since the implementation of delete in abcl is
> taken from cmucl, and that should be bug-free enough ;) however, I'll
> investigate this further.
> 
> (Thomas, I saw you at the ELS but in the end I didn't want to bother
> you with this - I wanted to keep the fun for me ;) thanks for your
> offer of help, anyway).
> 
> So now tests appear to pass. And, apart from using remove and adding a
> few read conditionals, no changes to cells are required for it to work
> on abcl. Abcl itself needs to be slightly modified (it needs to expose
> a couple of internal MOP functions). I'll talk to the devs about
> incorporating these changes on trunk and hopefully in the coming 0.15
> release of abcl.
> 
> Bye,
> Alessio S.
> 
> _______________________________________________
> cells-devel site list
> cells-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/cells-devel
> 
> 
> ------------------------------------------------------------------------
> 
> 
> No virus found in this incoming message.
> Checked by AVG - www.avg.com 
> Version: 8.5.339 / Virus Database: 270.12.53/2154 - Release Date: 06/04/09 05:53:00
> 




More information about the cells-devel mailing list