-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Open
Labels
Cost:SWork that requires one engineer up to 1 weekWork that requires one engineer up to 1 weekarea-System.Reflectiontenet-performancePerformance related issuePerformance related issue
Milestone
Description
Currently, the invoke fast-path generates IL using either call or callvirt. If this is changed to use calli and function pointers, it is possible to cache the generated dynamic method and use it for all such calls to the same signature. This reduces the memory footprint and makes calling subsequent but different methods faster since there would essentially be a hashtable look upon the signature instead of generating a new method.
In addition, it will be used to support invoke against a function pointer via #75347.
Items to consider:
- Sharing of instance methods across different reference Types.
- Virtual functions (see
ldvirtftn).
Metadata
Metadata
Assignees
Labels
Cost:SWork that requires one engineer up to 1 weekWork that requires one engineer up to 1 weekarea-System.Reflectiontenet-performancePerformance related issuePerformance related issue