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
> [email protected]
> https://lists.gnu.org/mailman/listinfo/help-smalltalk
> 


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

Reply via email to