[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