【问题标题】:Can deoptimization happen after the damage has been done?损坏完成后会发生去优化吗?
【发布时间】:2014-10-21 23:47:23
【问题描述】:

激进的推测可以看作是需要预测程序下一步动作的优化技术的统称。当预测失败时,就会发生去优化。

在 HotSpot 中,当预测“引用指向的非常量对象是常量”的激进推测失败时,损坏是否一定会在去优化之前回滚?

我想知道是否会发生诸如“多线程环境中的缓存一致性问题”或“由于预测失败而通过网络发送的错误值”等实例。

我还没有用于 JIT 优化的 JVM 代码的下落,所以我想和你们确认一下这些事情是否会发生。

附带问题:JIT 部分代码在 OpenJDK 上是否不可用?

【问题讨论】:

  • "JIT 部分代码在 OpenJDK 中不可用是真的吗?" 不,it's there,尽管具体实现可能不同。

标签: java optimization jvm jit jvm-hotspot


【解决方案1】:

如果是这样,那将是一个错误。特别不允许优化这样做。这并不意味着您不需要同步您的多线程程序。这意味着如果优化器破坏了同步的保证,那么优化就会被破坏。这也不意味着这种问题永远不会发生;有时,优化器会有错误。

【讨论】:

    猜你喜欢
    • 2020-01-26
    • 2019-10-23
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 2015-01-01
    • 1970-01-01
    相关资源
    最近更新 更多