我们正在使用编译的表达式树来动态生成代码。一些仅在运行时可供我们使用的信息使我们能够(理论上)编写更简单,更快的代码。
在许多情况下,我们确实可以提高性能。

但是,在某些情况下,我们会降低性能。在这种情况下,Visual Studio Profiler显示性能差异是由于此方法引起的(在静态编译的代码中根本没有出现)

JIT_MethodAccessCheck


这种方法有什么用? (Google对此不多说)。
我可以以某种方式优化它吗?

最佳答案

JIT_MethodAccessCheck方法执行安全检查,例如SecurityTransparentAPTCA和@xanatos提到的类访问检查。

类访问检查包括SecurityCriticalSecuritySafeCritical,附加的探查器旁路和LinkDemand。可以在coreclr jithelpers.cpp上找到更多详细信息。

由于coreclr与CLR兼容,因此我们可以安全地假定两者的检查方式相同。

08-08 07:04