[Ironruby-core] Code Review: Instructions3
Tomas.Matousek at microsoft.com
Thu Oct 22 16:06:47 EDT 2009
tfpt review "/shelveset:Instructions3;REDMOND\tomat"
Refactors interpreter instructions.
Adds instruction static factories to Instruction class (similarly to Expression Tree factories). These factories take care of caching the instructions if possible. Some instructions are generic and their factories might need to call type.MakeGenericType(t). This is expensive so we cache generic factories and pre-generate them for primitive types.
Improves performance and working set of CallInstruction by merging it with ReflectedCaller class and generating specialized Run methods.
Removes name debug only field from LocalAccess instruction so that we can cache it. The instruction debug view looks up the name on LightCompiler.
The number of allocated instruction objects during "mspec ci core" test run drops from 3,042,810 down to 1,268,421.
More information about the Ironruby-core