chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] [PATCH] Another symbol GC sanity check fix [was: R


From: felix . winkelmann
Subject: Re: [Chicken-hackers] [PATCH] Another symbol GC sanity check fix [was: Re: [PATCH] Fix record type tags to be nonglobal by module-prefixing them]
Date: Wed, 19 Jul 2017 09:38:14 +0200

>
> From there, there are two ways to ensure they don't interfere with
> symbols that are spelled the same:
>
> - Make the lookup know what we're looking for and use the symbol's
>   value to determine whether to return the object or not.
> - Create a new symbol table for keywords specifically.
>
> My preference is the second option: it's cleaner and less confusing,
> and we can even experiment with a differently sized "keyword table".
> This table can perhaps also be assumed to always have only weak
> references.
>
> To guarantee backwards compatibility, we could check that an interned
> symbol starts with a \x00 and intern it into the keyword table.
> A lookup would then also need to ignore the \x00 at the start when
> hashing and searching.  Once everything is using unprefixed keywords
> we can drop the special-casing for the initial \x00 value.
>

I'm slightly frightened by all the plans for various overhauls and want to point
out that once 5.0 is released, such changes will require a Change Request
(which is a good thing, as I think we are going slightly overboard by trying
to fix everything, regardless of criticality).


felix




reply via email to

[Prev in Thread] Current Thread [Next in Thread]