sha*_*oth 5 .net c# reflection jit
我想了解JIT内联无处不在.
假设在我的代码中,我从say System.IO程序中调用一些函数,并将一个回调引用传递给我的代码中实现的函数,以便从该System.IO函数内部调用.在我的功能中有GetCallingAssembly()电话.因此,如果我的回调被内联到最初在我的代码中System.IO的调用GetCallingAssembly(),并打算说从内部调用"当前"方法System.IO将说它现在从我的代码内部调用.
这样的内联是否可行,或者.NET运行时程序集是否被区别对待,以便不允许将用户代码内联到.NET运行时代码中?
您可以放心地假设回调不会被内联。.NET Framework 程序集始终由 ngen.exe 在安装时进行预编译,之后无法更改该代码。此外,即使抖动优化器可以推断委托的目标方法可能是什么,通过委托的回调也永远不会内联。
| 归档时间: |
|
| 查看次数: |
137 次 |
| 最近记录: |