[UPDATES] 50 more for 2.8alpha
sr at evolgo.de
Sat Mar 25 19:10:10 UTC 2000
Dan Ingalls wrote:
> 1929FastPrimFailures -- Stephan Rudloff & Andreas Raab -- 10 March 2000
> The change set provides ultra fast failure response for any external primitives which are not found when looked up. Based on Stephans VM_cachingMissingModules.8.cs change set with slight modifications.
> The fast failure is achieved by rewriting the primitive index in the method cache with zero if the lookup fails (e.g., on any further activation the method is treated as if there would be no primitive at all).
> Also, the change set adds a primitive for invalidating the current (plugin) session ID, thus forcing a reload of all primitives that were not found before (using Smalltalk>>setNewPluginSessionID).
> The modifications to Stephans code are minimal. Basically, two things have been changed: The class that is added to the mcache is explicitly stored in #addToMethodCacheSel:class:method:primIndex: to document the side effect for #primitiveExternalCall and the session ID is hidden from the ST level as an instVar in Interpreter. The latter is necessary for backward compatibility. Older images would crash when run with a recent VM since the session ID was stored in the special objects array.
I think there is a bug in this changeset, see my mail with subject:
Don't worry: Currently this is only a problem for people which compile
the VM themselve...
More information about the Squeak-dev