RFR: AArch64: 8179954: AArch64: C1 and C2 volatile accesses are not sequentially consistent (original) (raw)

Andrew Haley aph at redhat.com
Wed May 10 14🔞42 UTC 2017


So you were right. Dammit. :-)

This test:

@State(Scope.Benchmark)
public static class BenchmarkState {
    static int nn = 99;
}
@Benchmark
public int testMethod(BenchmarkState state) {
    return state.nn;
}

Interpreter-only, before my patch:

Benchmark Mode Cnt Score Error Units MyBenchmark.testMethod avgt 5 92.938 ? 0.870 ns/op

After my patch, it's slower:

Run complete. Total time: 00:00:07

Benchmark Mode Cnt Score Error Units MyBenchmark.testMethod avgt 5 94.518 ? 0.562 ns/op

But if I insert conditional branches around the fences as you suggest, the result is much better:

Benchmark Mode Cnt Score Error Units MyBenchmark.testMethod avgt 25 83.825 ? 0.161 ns/op

New patch at http://cr.openjdk.java.net/~aph/8179954-2/

OK?

Andrew.



More information about the hotspot-dev mailing list