RFR: 8229797: [JVMCI] Clean up no longer used JVMCI::dependencies_invalid value.

Xiaohong Gong (Arm Technology China) Xiaohong.Gong at arm.com
Wed Aug 28 01:52:49 UTC 2019


  Please help to review this jvmci patch:
  Webrew: http://cr.openjdk.java.net/~pli/rfr/8229797/webrev.00/
  JBS: https://bugs.openjdk.java.net/browse/JDK-8229797

  This patch fix issue: https://github.com/oracle/graal/issues/1587.
  The loading of new classes can cause dependencies to become false, which requires the dependent
nmethods to be discarded and deoptimized. So if validating dependencies fails, it should make the
result to be JVMCI::dependencies_failed, which makes jvmci throw the BailoutException.
  The invalid dependencies happen at the time of installation without any intervening modification of
the system dictionary. So as the system dictionary modification optimization has been removed, the
compiler can not know whether the failed dependencies are triggered by class reloading or not. It's
better to use dependencies_failed to mark the result.

Xiaohong Gong

More information about the graal-dev mailing list