RFR: 8058176: [mlvm] tests should not allow code cache exhaustion [v2]

Igor Ignatyev iignatyev at openjdk.java.net
Fri Feb 12 20:05:40 UTC 2021


On Fri, 12 Feb 2021 18:22:52 GMT, Evgeny Nikitin <enikitin at openjdk.org> wrote:

>> Another approach to the JDK-8058176 and #2440 - never allowing the tests hit CodeCache limits. The most significant consumer is the MH graph builder (the MHTransformationGen), whose consumption is now controlled. List of changes:
>> 
>> * Code cache size getters are added to WhiteBox;
>> * MH sequences are now built with remaining Code cache size in mind (always let 2M clearance);
>> * Dependencies on WhiteBox added for all affected tests;
>> * The test cases in question un-problemlisted.
>> 
>> Testing: the whole vmTestbase/vm/mlvm/ in win-lin-mac x86.
>
> Evgeny Nikitin has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Switch to ManagementBeans approach instead of the WhiteBox one

test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/share/MHTransformationGen.java line 69:

> 67:     private static final boolean USE_THROW_CATCH = false; // Test bugs
> 68: 
> 69:     private static final MemoryPoolMXBean CODE_CACHE_MX_BEAN = ManagementFactory

does it work w/ both `-XX:+SegmentedCodeCache` and `-XX:-SegmentedCodeCache`? 
If I remember correctly (@TobiHartmann , please correct me if I'm wrong), `CodeCache` pool exists when `SegmentedCodeCache` is disabled, when it's enabled, you will have 3 different pools (one for each "CodeHeap"), and here we would need to use one for `non-nmethod` codeheap.

-- Igor

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

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


More information about the hotspot-dev mailing list