RFR: 8265360: several compiler/whitebox tests fail with "private compiler.whitebox.SimpleTestCaseHelper(int) must be compiled"

Igor Veresov iveresov at openjdk.java.net
Fri Apr 29 21:21:10 UTC 2022


The compilation policy uses the length of the queues as a feedback mechanism that gives us information about the compilation speed. In some places it makes decisions based on the queue length length alone without looking at the invocation counters. That can cause a starvation effect. For example when running in a C2-only mode it may delay profiling in the interpreter if the C2 queue is too long. The solution to this is detect "old" methods (that is method that have been used a lot) and force putting them into the queue and let the queue prioritization deal with it.

I also did some cleanup for things that got in the way.
Testing looks clean.

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

Commit messages:
 - Reimplement CompilationPolicy::is_old(). Cleanup.
 - Switch off first level feedback for old methods

Changes: https://git.openjdk.java.net/jdk/pull/8473/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8473&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8265360
  Stats: 90 lines in 5 files changed: 32 ins; 8 del; 50 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8473.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8473/head:pull/8473

PR: https://git.openjdk.java.net/jdk/pull/8473


More information about the hotspot-compiler-dev mailing list