многоуровневая компиляция HotSpot использует интерпретатор до тех пор, пока порог вызовов (для методов) или итераций (для циклов) не инициирует компиляцию клиента с самопрофилированием. Компиляция клиента используется до тех пор, пока другой порог вызовов или итераций не инициирует компиляцию сервера.
Печать флагов HotSpot показывает следующие значения флагов с -XX:+TieredCompilation.
intx CompileThreshold = 10000 {pd product}
intx Tier2CompileThreshold = 0 {product}
intx Tier3CompileThreshold = 2000 {product}
intx Tier4CompileThreshold = 15000 {product}
Слишком много флагов только для клиентского и серверного компилятора. Какие компиляторы контролируются этими флагами? Если не клиент и сервер, то для чего нужны дополнительные компиляторы?
Игнорируются ли CompileThreshold и Tier2CompileThreshold в этом случае? Что контролирует Tier3CompileThreshold при запуске клиентской компиляции? Что контролирует Tier4CompileThreshold при запуске серверной компиляции?