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
