RFR: Access barriers for arraycopy

Aleksey Shipilev shade at redhat.com
Tue Feb 20 16:54:01 UTC 2018


On 02/20/2018 05:38 PM, Roman Kennke wrote:
> This adds support for arraycopy barriers using the new Access API.
> - Add the hooks in a bunch of places where arraycopy is used
> - Fix a small issue in the actual Access API
> - Make Shenandoah Access barriers apply read- and write-barriers to
> the src and dst objects, and re-resolve the actual addresses using
> some pointer math.
> 
> This should reduce upstream exposure even more.
> 
> I'll upstream the changes required to shared code ASAP.
> 
> Test: hotspot_gc_shenandoah
> 
> http://cr.openjdk.java.net/~rkennke/arraycopy-access-barriers/webrev.00/

*) Since we are stabilizing sh/jdk*10*, I would prefer not to extend Access API here: when doing
this, we are risking unforeseen interactions with the rest of VM and other GCs. Do we actually need
the extensions to work correctly?

*) Stray whitespace before "((T*)":

  87     src =  ((T*) (void*) src_obj) + src_offset;

 103     src =  ((T*) (void*) src_obj) + src_offset;

-Aleksey



More information about the shenandoah-dev mailing list