On Sun, Jan 19, 2014 at 05:14:36PM +0100, Holger Hans Peter Freyther wrote:

Dear Gwenaël,

I would like to introduce the optimization and have one more question.

> +    dangerouslyAt: aKey put: aValue [
> +        <category: 'private methods'>
> +
> +        | index |
> +        index := self findIndex: aKey.
> +        (self primAt: index) isNil
> +            ifTrue: [
> +                self incrementTally
> +                    ifTrue: [ index := self findIndex: aKey ].
> +                self primAt: index put: aKey]
> +            ifFalse: [ (self valueAt: index) discardTranslation ].
> +        self valueAt: index put: aValue.
> +       ^ aValue

Why do we need the ifFalse: case? This would flush the JITed code of
a translated method but we have not modified that method? Can you please
elaborate?

_______________________________________________
help-smalltalk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to