【发布时间】:2016-12-07 20:31:46
【问题描述】:
使用java -XX:+PrintFlagsFinal,我找到了TieredCompilation 标志,并在网上阅读了一些相关信息。
然而,我仍然不知道确切将它设置为false 时会发生什么。
我知道编译系统支持5个执行级别,基本上分为解释器、C1和C2:
- 0 级 - 解释器
- 1 级 - 完全优化的 C1(无分析)
- 2 级 - C1 带调用和后端计数器
- 3 级 - 具有完整分析的 C1(2 级 + MDO)
- 4 级 - C2
两个问题:
(1) 通过设置-XX:-TieredCompilation,是否只是禁用了某些级别?如果是,是哪个?
(2) 是否有一些标志来决定是否禁用 C1 或 C2,或者根本不编译?
【问题讨论】: