Comment 4 for bug 309141

Revision history for this message
Nikodemus Siivola (nikodemus) wrote : Re: type system and inline expansion

Attached patch changes DEFINED-FUN-FUNCTIONAL into DEFINED-FUN-FUNCTIONALS, an alist indexed by the LEXENV-POLICY.

It fixes the symptoms and doesn't cause any (apparent) regressions, but I don't really like it: not only does it feel kludgy, it also seems to me that DEFINED-FUN-FUNCTIONAL should not really hold inline expansions at all, just NAMED-LAMBDA functionals for use with block compilation.

Note how in the original bug the two ACCs have been coalesced as if they had been declared MAYBE-INLINE: this will still happen with the patch, if the policies match. (I am not strictly opposed to such coalescing, but ...)

Removing inline expansions from DEFINED-FUN-FUNCTIONAL and instead caching them in a component-local hash-table indexed by policy and function name seems like a nicer way to handle this, maybe.