On Nov 25, 2008, at 6:17 AM, Denis Koreshkov wrote:
> It is surely possible to implement gc pass to get rid of symbols
> which are
> 1) not referenced by anyone except car of some symbol-table-bucket
> 2) have empty property-list and unique-string slots.
3) do not have a value set
Yes. I did that before (in a previous incarnation of ikarus).
> I am aware that the pass can actually be a slowdown to both gc and
> intern_string,
No, I don't think it would cause any slowdown. It just adds a little
complexity to the gc.
> but on the other hand it is wrong allowing junk to pile up in a
> garbage-collected system.
Agreed of course. The only problem is that I won't be able to get
around to doing this for some time due to pressure (school and all).
On Nov 25, 2008, at 6:17 AM, Denis Koreshkov wrote:
> It is surely possible to implement gc pass to get rid of symbols
> which are
> 1) not referenced by anyone except car of some symbol-table-bucket
> 2) have empty property-list and unique-string slots.
3) do not have a value set
Yes. I did that before (in a previous incarnation of ikarus).
> I am aware that the pass can actually be a slowdown to both gc and
> intern_string,
No, I don't think it would cause any slowdown. It just adds a little
complexity to the gc.
> but on the other hand it is wrong allowing junk to pile up in a
> garbage-collected system.
Agreed of course. The only problem is that I won't be able to get
around to doing this for some time due to pressure (school and all).