Merge upstream C2 modularization
Roman Kennke
rkennke at redhat.com
Thu Jun 7 20:16:29 UTC 2018
This merges:
changeset: 50518:ffa644980dff
parent: 50515:d9bc8557ae16
user: eosterlund
date: Fri May 18 14:51:06 2018 +0200
summary: 8202377: Modularize C2 GC barriers
And implements the Shenandoah infra:
- Move all the Shenandoah barriers stuff from graphKit.* to
shenandoahBarrierSetC2.*
- Move _shenandoah_barriers and related stuff from compile.* to
shenandoahBarrierSetC2.*
- Remove a few hooks and replace them with appropriate barrierSetC2
hooks - but only where easy and obvious
- Retain all RB and WB hooks, but renamed to access_resolve_for_read()
and access_resolve_for_write(). The API and many of the hooks will have
to be upstreamed soon. Some hooks will go away when we move the barriers
inside the access_load, access_store and cmpxchg/xchg implementations.
There's plenty of stuff to improve. I tried to stay close to current way
of doing it, and only introduce the basic infrastructure. This infra can
now be used to reduce our C2 clutter even more.
Testing: tier3_gc_shenandoah (fastdebug/release) pending, specjvm point
testing using adaptive/traversal/connected heuristics to check
compilation of all barriers
http://cr.openjdk.java.net/~rkennke/upstream-merge-2018-06-07/webrev.01/
Ok?
Roman
More information about the shenandoah-dev
mailing list