JDK-8340516 : CDS: Create a regression test for bitmap density
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 24
  • Priority: P4
  • Status: New
  • Resolution: Unresolved
  • Submitted: 2024-09-20
  • Updated: 2024-09-20
Related Reports
Relates :  
Description
From John's comments in JDK-8340171:

----- 8< ---------------------------

I'm racking my brain to figure out if there is some kind of regression test we could write to detect a future situation like this: (a) Someone changes the AOT cache so that there is a burst of new oops or metadata pointers injected, and then (b) the pointer bitmap loses its clever compression. How will we notice such a thing?

I have an idea; this is the best I've got ATM: Print a log message that gives the density of one-bits in the pointer map (out of total map size). Maybe also the density of non-zero WORDS in the pointer map. It's a "figure of merit"; 50-100% would be awesomely good, 1% would be very bad . Write a regression test that detects if that metric goes out of some reasonable range, for some representative workload. It has to be a tentative failure, kind of like a test timeout or excessive pause time.

----- 8< ---------------------------