我的问题与此类似,但有所不同,因为我不询问 EditAndContinue。
我读过存在热重新编译。我的意思是,例如我们有这样的代码
if (a > 0 && b >0 && c > 0 && d > 0)
我们假设我们有一个监控可执行文件和启动 JIT 的环境(例如 CLR)。所以这个环境看到这种情况很少见(我们不知道或编译时d > 0
的实际值,我们只能在运行时收集一些统计信息)。所以它可以像这样重新编译它a b c
d
if (d > 0 && a > 0 && b >0 && c > 0)
因此,由于首先检查了最不可能的条件,我们得到了优化。那么这个热重编译实际上是如何命名的呢?它如何以及在哪里工作?