tfpt review “/shelveset:NoStaticSites4;REDMOND\tomat”
Adds support for SiteLocalStorage to IronRuby binder. This allows us to
store arbitrary data in dynamic site rules including other dynamic
sites. Using this feature library methods that dynamically invoke other
Ruby methods should now take as parameters all sites they’re using
instead of calling to statically allocated sites. This will allows us to
remove runtime checks from the rules and also decreases the degree of
polymorphism for the sites (since static sites are used from many places
with variety of targets they tend to be megamorphic).
This is first part of the change. Many static sites still remain to be
removed. Some library methods (e.g. Range#step) are highly dynamic. Some
method need refactoring to reduce the number of sites.