RFR (S): CR 8009120: Fuzz instruction scheduling in Hotspot compilers
Lindenmaier, Goetz
goetz.lindenmaier at sap.com
Thu Feb 28 00:54:42 PST 2013
Hi Aleksey,
that's a good idea to stress the scheduler this way.
And it's about the change we did to our VM that leads
to the bug. We really appreciate that this issue is followed!
Best regards,
Goetz.
-----Original Message-----
From: hotspot-compiler-dev-bounces at openjdk.java.net [mailto:hotspot-compiler-dev-bounces at openjdk.java.net] On Behalf Of Aleksey Shipilev
Sent: Wednesday, February 27, 2013 10:36 AM
To: hotspot compiler
Subject: RFR (S): CR 8009120: Fuzz instruction scheduling in Hotspot compilers
Hi,
Haven't got any response from the last note, so here's the more complete
changeset. Ping me if something should be done to match the integration
requirements, control flow rewired to match usual conventions, etc.
The idea for the fuzzer is quite simple:
- LCM schedules the instructions within the basic block, choosing the
schedule based on the node input count, latency, etc; we can hijack the
selection process and randomize the choice.
- GCM selects the basic block up the dominator tree with the best
frequency/latency to fit the Node in; we can hijack this and randomize
the placement.
Webrev:
http://cr.openjdk.java.net/~shade/8009120/webrev.00/
I have a question about self->is_iteratively_computed() in GCM though.
This condition seems to ensure correctness, and should be enforced even
when LCA_freq < least_freq?
Testing:
- full HotSpot JPRT cycle in oob mode (still running, ~80%, no issues)
- full HotSpot JPRT cycle with forced -XX:+FuzzInstructionScheduling
- ad-hoc java-concurrency-torture with -XX:+FuzzInstructionScheduling
The observation is that all tests are fine the fuzzing either turned
on/off, so intra-thread semantics is not broken. Concurrency torture
tests start to fail with fuzzing, marking the inter-thread semantics is
violated by compiler (these are the cases we want to catch in that
tests), these failures are similar to CR 8007898:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007898
Thanks,
-Aleksey.
More information about the hotspot-compiler-dev
mailing list