This is the mail archive of the
guile@sources.redhat.com
mailing list for the Guile project.
Re: String representation proposal
- To: Mikael Djurfeldt <djurfeldt at nada dot kth dot se>
- Subject: Re: String representation proposal
- From: Mikael Djurfeldt <mdj at mdj dot nada dot kth dot se>
- Date: 27 Aug 2000 19:04:51 +0200
- Cc: guile at sourceware dot cygnus dot com
- Cc: djurfeldt at nada dot kth dot se
- References: <E13Spds-00008T-00@mdj.nada.kth.se>
- Reply-To: djurfeldt at nada dot kth dot se
Mikael Djurfeldt <mdj@mdj.nada.kth.se> writes:
> Abstract description of proposed solution
Gary Houstin has pointed out two serious bugs in my proposal. So, we
need to do some further thinking on how to represent strings
efficiently.
Here are Gary's quite valid comments:
Gary Houston <ghouston@arglist.com> writes:
> Say there were two strings pointing to one shared character record:
>
> A -> <a>
>
> B -> <a>
>
> What if there are no references to A and <a> is <white, shared>.
> GC mark doesn't reach <a> through A. However it reaches <a> through B
> and changes it to <black, private>. GC sweep frees A and then
> frees <a>.
>
> On the other hand what if there are no references to A or B? Now
> <a> remains <white, private> and is freed twice. Hmmm.