On Fri, 13 Mar 2026 11:02:58 GMT, Paul Hübner <[email protected]> wrote:

> Hi all,
> 
> In some rare cases, no abstract value classes are generated. This causes the 
> statistics printer to divide by zero.
> 
> This change makes it such that at least one abstract class is generated (this 
> is to ensure sufficient coverage) rather than band-aid fixing the symptom. 
> When halfway through generation, the generator will nudge the next class to 
> be abstract if no abstract value classes have been generated thus far.
> 
> I also added a quality of life seed print at the beginning of execution.
> 
> Testing: tier 1, 100 invocations of the generator on Linux x64. The 
> originally failing seed passes.

test/hotspot/jtreg/runtime/valhalla/inlinetypes/field_layout/ValueRandomLayoutTest.java
 line 82:

> 80:   public static void main(String[] args) throws Exception {
> 81:       String seedProperty = "CLASS_GENERATION_SEED";
> 82:       String seedString = System.getProperty(seedProperty);

We have `jdk.test.lib.Utils` which have a generalised concept of this.

`Utils.getRandomInstance();`

https://github.com/openjdk/valhalla/blob/5de772acbc9e63d22ac24a1c633ffd59e319a50b/test/lib/jdk/test/lib/Utils.java#L513-L526

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

PR Review Comment: 
https://git.openjdk.org/valhalla/pull/2223#discussion_r2930923796

Reply via email to