[Vm-dev] About primitive for cleaning compiled method cache

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Tue Mar 12 14:11:44 UTC 2013


2013/3/12 David T. Lewis <lewis at mail.msen.com>:
>
> On Tue, Mar 12, 2013 at 12:54:02PM +0100, Nicolas Cellier wrote:
>>
>> As I understand it, there is a nuclear weapon
>> - primitive 89 for cleaning all caches
>> and more chirurgical tools:
>> - primitive 116 for cleaning method cache of a single CompiledMethod
>> - primitive 119 for cleaning method cache for all CompiledMethod
>> corresponding to a given selector
>>
>> Currently, when we replace a CompiledMethod in some MethodDictionary,
>> we call both primitive 116 then primitive 119.
>> As I understand it from image code comments, this was to support old
>> VM that would support either one or the other form.
>> Modern VM (interpreter VM4.x serie, Stack or Cog) are mandatory to run
>> a modern image all implement both forms, so backward support argument
>> is gone.
>> I think it's time to clean some dust.
>> So my question is which one is necessary ?
>>
>
> Good question, and I do not know the answer. However, I do want to note
> that the modern interpreter VM is often used to run older images, back
> to at least Squeak 3.6. Any primitive that is required for Squeak 3.6
> should continue to be available in the interpreter VM (and for all VMs
> we should not reassign any of those three primitive numbers).
>
> Dave
>

Agree, I was thinking of image side clean up.

Nicolas


More information about the Vm-dev mailing list