CompileThreshold、Tier2CompileThreshold、Tier3CompileThreshold 和 Tier4CompileThreshold 控制什么?
2022-09-02 01:36:35
HotSpot的分层编译使用解释器,直到调用(对于方法)或迭代(对于循环)的阈值触发具有自分析功能的客户端编译。客户端编译一直使用,直到调用或迭代的另一个阈值触发服务器编译。
打印 HotSpot 的标志显示以下带有 -XX:+分层编译的标志值。
intx CompileThreshold = 10000 {pd product}
intx Tier2CompileThreshold = 0 {product}
intx Tier3CompileThreshold = 2000 {product}
intx Tier4CompileThreshold = 15000 {product}
对于客户端和服务器编译器而言,标志太多。这些标志控制哪些编译器?如果不是客户端和服务器,附加编译器的用途是什么?
在这种情况下,CompileThreshold和Tier2CompileThreshold是否被忽略?当触发客户端编译时,Tier3CompileThreshold 控制什么?当触发服务器编译时,Tier4CompileThreshold 控制什么?