-
Enhancement
-
Resolution: Unresolved
-
P2
-
25
Our existing stress flags that introduce randomization (StressIGVN, StressCCP, ...) proved to be valuable in finding bugs. We should add more.
Here's a collection of ideas:
- Inline random methods: At each call side, randomly select a method from any class with a signature + receiver that fits and inline it (compilation only, no execution)
- Randomized call injection with forced inlining (compilation only, no execution)
- Randomized profile information gathered by the interpreter and C1 (this is especially powerful with CTW and RepeatCompilation)
- Randomly disable inlining (randomize bailouts in InlineTree::should_not_inline and similar methods)
- Randomly disable processor capabilities, or even add full unsafe control over CPU capabilities
- Randomize register allocation heuristics (what to spill, what registers to assign - see JDK-8343294, etc.) and matching
- Randomize Node::_in/_out arrays to randomize graph walks ([~epeter]'s idea)
- Randomize the compile queue orders
See also the linked issues.
Here's a collection of ideas:
- Inline random methods: At each call side, randomly select a method from any class with a signature + receiver that fits and inline it (compilation only, no execution)
- Randomized call injection with forced inlining (compilation only, no execution)
- Randomized profile information gathered by the interpreter and C1 (this is especially powerful with CTW and RepeatCompilation)
- Randomly disable inlining (randomize bailouts in InlineTree::should_not_inline and similar methods)
- Randomly disable processor capabilities, or even add full unsafe control over CPU capabilities
- Randomize register allocation heuristics (what to spill, what registers to assign - see JDK-8343294, etc.) and matching
- Randomize Node::_in/_out arrays to randomize graph walks ([~epeter]'s idea)
- Randomize the compile queue orders
See also the linked issues.
- relates to
-
JDK-8286805 Add stress mode for C2 loop optimizations
-
- Open
-
-
JDK-8343294 Stress mode to randomize register selection
-
- Open
-