Shenandoah barriers study
Roland Westrelin
rwestrel at redhat.com
Fri Sep 9 14:38:01 UTC 2016
I push a change to help with this:
> *)
> http://cr.openjdk.java.net/~shade/shenandoah/shenandoah-gc-bench/src/main/java/org/openjdk/shenandoah/acmp/ACmpBarriersRandom.java
>
> Potential improvements:
> b) jump over the second cmp on "==" path.
But it's not sufficient. We would want:
if (a != b) {
a = rb(a);
b = rb(b);
}
if (a == b) {
res = true;
} else {
res = false;
}
to become:
if (a != b) {
a = rb(a);
b = rb(b);
if (a == b) {
res = true;
} else {
res = false;
}
} else {
res = true;
}
which is c2's split if optimization. But:
if (a == b) {
res = true;
} else {
res = false;
}
is first transformed in that simple example to use cmoves and that gets
in the way of split if.
Roland.
More information about the shenandoah-dev
mailing list