Happy path
Roland Westrelin
rwestrel at redhat.com
Wed Feb 14 10:03:19 UTC 2018
http://cr.openjdk.java.net/~roland/shenandoah/happypath/webrev.00/
This changes the implementation of the write barrier and pre barrier so
they first check whether the gc state is zero. Back to back tests are
merged, loops are unswitched around a gc state test. There's more work
to do to merge 2 gc state ifs if there's some control flow between,
push read barriers in gc state ifs, remove read barriers on the gc state
zero branch. For instance:
static void m(A a, Object o) {
a.o = o;
}
still has 2 checks for gc state is zero because there's some control
flow between the 2.
Roland.
More information about the shenandoah-dev
mailing list