RFR: Re-do streamlining of read-barriers in Access API, and fix call paths that might lead to read-barriers via oop_iterate()
Roman Kennke
rkennke at redhat.com
Thu Jul 5 18:43:36 UTC 2018
The previous patch to use SBS::resolve_forwarded() directly from Access
API impl failed because some fricking code paths get to read-barriers
via oop_iterate() and make full-GC fail because fwd-ptr is temporarily
pointing to nirvana.
This fixes all those code paths to avoid read-barriers. Some use
explicit *_raw() accessor variants now, and metadata is now accessed via
raw call wholesale.
the non-Shenandoah stuff will have to be upstreamed soon. Want to bake
it a little more in Shenandoah though, who knows, maybe we find more
such off-the-rails code paths?
http://cr.openjdk.java.net/~rkennke/fix-rbs/webrev.00/
Testing: tier3_gc_shenandoah
Ok?
Roman
More information about the shenandoah-dev
mailing list