The type loading involves non-trivial time-consuming algorithms such as field or vtable layout. We may be able to speed up the type loading by storing additional pre-computed information in the R2R images.
A possible design is to save just enough data to be able to build MethodTable very quickly, and teach the rest of the runtime to deal with MethodTables that do not have EEClass, MethodDescs or FieldDescs as they would be created on demand.
The data format should be resilient to versioning changes by default, with option to more efficiency via use of version bubbles.
Compact type layouts (CTL) was a similar idea used on Windows Phone. For inspiration, more details about CTL can be found in Patent # 10,656,926.
The type loading involves non-trivial time-consuming algorithms such as field or vtable layout. We may be able to speed up the type loading by storing additional pre-computed information in the R2R images.
A possible design is to save just enough data to be able to build MethodTable very quickly, and teach the rest of the runtime to deal with MethodTables that do not have EEClass, MethodDescs or FieldDescs as they would be created on demand.
The data format should be resilient to versioning changes by default, with option to more efficiency via use of version bubbles.
Compact type layouts (CTL) was a similar idea used on Windows Phone. For inspiration, more details about CTL can be found in Patent # 10,656,926.