RFR: Don't generate arraycopy pre-barrier calls for traversal GC

Roman Kennke rkennke at redhat.com
Mon Jun 18 21:03:11 UTC 2018


Am 18.06.2018 um 18:43 schrieb Aleksey Shipilev:
> On 06/18/2018 06:41 PM, Roman Kennke wrote:
>> the arraycopy-pre-barrier is a no-op for traversal GC. There's no need
>> to generate the pointless runtime call and the gc state check.
>>
>> http://cr.openjdk.java.net/~rkennke/no-array-prebarrier-traversal/webrev.00/
>>
>> Test: tier3_gc_shenandoah (in progress)
> 
> OK.
> 

It turns out that some register shuffling is required in the prologue
(in x86) to support the epilogue (gaaa). I moved the check to the if
(!dest_unitialized) check to preserve that shuffling.

Passes tier3_gc_shenandoah now.

http://cr.openjdk.java.net/~rkennke/no-array-prebarrier-traversal/webrev.01/

Ok?

Roman



More information about the shenandoah-dev mailing list