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