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