Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8336258

Document the behavior of 'exclude' and 'compileonly' with respect to inlining

XMLWordPrintable

    • b08

      The long-standing behavior of the `exclude` CompileCommand is to also apply to inlined versions of a method. On the other hand, the `compileonly` CompileCommand only affects top-level compilations of a method and not its inlining behavior.

      The rational behind this decision is that `exclude` is intended to be used in production to workaround compiler crashes or bad compilations for certain methods and in these scenarios it usually doesn't matter if a "bad" method is getting compiled on the top level or if it gets inlined into another compilation unit.

      The "inconsistent inlining behavior with CompileOnly" thread on hotspot-compiler-dev discusses this behavior (see [1]). The answer [2] specifically describes this long-standing behavior.

      I think it would be good to document this behavior in the output of `-XX_CompileCommand=help`

      [1] https://mail.openjdk.org/pipermail/hotspot-compiler-dev/2016-June/thread.html#23575
      [2] https://mail.openjdk.org/pipermail/hotspot-compiler-dev/2016-June/023583.html

            simonis Volker Simonis
            simonis Volker Simonis
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: