* do a release build of the jdk repo without the fix and change into the build directory * create symbolic link to the jdk repository named jdk-repo * compile ContinuousCallSiteTargetChange.java images/jdk/bin/javac -d classes --source-path jdk-repo/test/lib jdk-repo/test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java * execute PingPongTest with relevant vm options used in ContinuousCallSiteTargetChange::testServer time images/jdk/bin/java -server -XX:-TieredCompilation -cp classes 'compiler.jsr292.ContinuousCallSiteTargetChange$PingPongTest' 50 real 0m2.158s user 0m4.068s sys 0m0.292s Linux Only: * simulate high load by pinning the test to one cpu time taskset 1 images/jdk/bin/java -server -XX:-TieredCompilation -cp classes 'compiler.jsr292.ContinuousCallSiteTargetChange$PingPongTest' 50 real 0m23.734s user 0m23.620s sys 0m0.108s * Apply http://cr.openjdk.java.net/~rrich/webrevs/8234146/B/webrev.0/jdk.changeset * Rebuild and run test again time taskset 1 images/jdk/bin/java -server -XX:-TieredCompilation -cp classes 'compiler.jsr292.ContinuousCallSiteTargetChange$PingPongTest' 50 real 0m2.076s user 0m2.024s sys 0m0.048s With higher load (20 cores Xeon(R) CPU E5-2660 v3 @ 2.60GHz): wget http://cr.openjdk.java.net/~rrich/webrevs/8234146/CPULoadGenerator.java images/jdk/bin/java CPULoadGenerator.java 240 # without fix time images/jdk/bin/java -server -XX:-TieredCompilation -cp classes 'compiler.jsr292.ContinuousCallSiteTargetChange$PingPongTest' 50 real 1m53.832s user 0m30.648s sys 0m0.128s # with http://cr.openjdk.java.net/~rrich/webrevs/8234146/B/webrev.0/jdk.changeset time images/jdk/bin/java -server -XX:-TieredCompilation -cp classes 'compiler.jsr292.ContinuousCallSiteTargetChange$PingPongTest' 50 real 0m8.241s user 0m3.856s sys 0m0.100s