HotSpot's tiered compilation verwendet den Interpreter, bis ein Schwellenwert von Invokationen (für Methoden) oder Iterationen (für Schleifen) eine Clientkompilierung mit Selbstprofilierung auslöst. Die Clientkompilierung wird verwendet, bis ein weiterer Schwellenwert von Aufrufen oder Iterationen eine Serverkompilierung auslöst.Was steuert CompileThreshold, Tier2CompileThreshold, Tier3CompileThreshold und Tier4CompileThreshold?
Printing HotSpot's flags zeigt die folgenden Flagwerte mit -XX: + TieredCompilation.
intx CompileThreshold = 10000 {pd product}
intx Tier2CompileThreshold = 0 {product}
intx Tier3CompileThreshold = 2000 {product}
intx Tier4CompileThreshold = 15000 {product}
Es gibt zu viele Flags nur für einen Client und einen Server-Compiler. Welche Compiler werden von diesen Flags gesteuert? Wenn nicht Client und Server, was ist der Zweck der zusätzlichen Compiler?
Werden CompileThreshold und Tier2CompileThreshold in diesem Fall ignoriert? Was steuert Tier3CompileThreshold, wenn eine Clientkompilierung ausgelöst wird? Was steuert Tier4CompileThreshold, wenn eine Serverkompilierung ausgelöst wird?