Other |
---|
tbdUnresolved |
Duplicate :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
JDK-8366571 :
|
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 (just sprinkle some more calls to random methods into code, compilation only, no execution) - JDK-8366571 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.