[squeak-dev] The Trunk: Collections-ul.564.mcz
Chris Muller
asqueaker at gmail.com
Mon Feb 3 20:48:47 UTC 2014
On Mon, Feb 3, 2014 at 12:19 PM, Frank Shearar <frank.shearar at gmail.com> wrote:
> On 3 February 2014 16:58, Chris Muller <asqueaker at gmail.com> wrote:
>> Well, I don't much like it. Remember our discussion a couple of
>> months ago, we were wondering whether LRUCache was even useful at all?
>> Granted, Levente said the prior _implementation_ was not useful,
>> which he addressed with this new one.
>>
>> But now what was once a simple and fast check in Array>>#isLiteral now
>> allocates an IdentityDictionary every time, just to accomodate this
>> strange implementation of LRUCache.
>
> You mean "just to fix broken behaviour which relied on certain
> unstated assumptions being true to avoid crashing horribly" :)
> #isLiteral was a bit naive, but I suppose it's not so obvious a danger
> as a cons cell.
>
> But anyway, this is why I wondered about writing a more general
> solution. For instance, writing a DepthFirstfTraversal that explicitly
> was safe against cyclic structures.
Right now I'm just interested in getting the release done.
>> And still leaves open other potential infinite-recursions.
>
> Like? It remembers which nodes it's visited.
Only #isLiteral remembers that. Printing doesn't / didn't. Anything
else that doesn't assume cycles will have the same issue. Did someone
check every method to make sure not?
More information about the Squeak-dev
mailing list
|