help-smalltalk
[Top][All Lists]
Advanced

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

Re: [Help-smalltalk] _gst_invalidate_method_cache and _gst_reset_inline_


From: Paolo Bonzini
Subject: Re: [Help-smalltalk] _gst_invalidate_method_cache and _gst_reset_inline_caches
Date: Sat, 21 Dec 2013 21:38:26 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9

Il 21/12/2013 20:22, Holger Hans Peter Freyther ha scritto:
> Removing of calls:
> 1.) I think we can safely remove the flush from the call-in process
> creation. This code has been there since the initial import.

It's possible that it is a relic dating back to before the introduction
of MethodDictionary.

> 2.) I think we can remove the invalidate from install_method in case
> the kernel is initialized. In that case we will use >>#at:put: to
> add the method that will already end in a flushCache.

Interesting.

>  MethodDictionary>>#select: will create a new MethodDictionary that
>  will flush the cache when it is populated. It is wasteful and we could
>  avoid this. It will only benefit VisualGST.

I think the species of MethodDictionary should be LookupTable?

Paolo

> 
> 
>  Most inline caches are in-active (okay creating a VM that has both the
>  jit and interpreter in one is another topic). The ideas we have talked
>  about so far are:
> 
>  * OpenMP to make the invalidate spread across different cores
>  * Add a global version to the IC. So the fast path would have an
>    additional load, compare, branch.
>  * Create a list or a flat array (and if more than 1024 entries) and
>    add active entries there. So this would create additional calls
>    on the hot path as well.
> 
> 
> comments?
> 
>       holger
> 
> _______________________________________________
> help-smalltalk mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/help-smalltalk
> 




reply via email to

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