RFR: 8336258: Document the behavior of 'exclude' and 'compileonly' with respect to inlining [v2]

Volker Simonis simonis at openjdk.org
Thu Jul 18 14:43:44 UTC 2024


> 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

Volker Simonis has updated the pull request incrementally with two additional commits since the last revision:

 - Added comma as suggested by @jaskarth
 - Updated documentation text according to Tobias' suggestion

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/20142/files
  - new: https://git.openjdk.org/jdk/pull/20142/files/35c26551..984426a8

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=20142&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20142&range=00-01

  Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/20142.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20142/head:pull/20142

PR: https://git.openjdk.org/jdk/pull/20142


More information about the hotspot-compiler-dev mailing list