RFR (S): Avoid scanning primitive arrays

Aleksey Shipilev shade at redhat.com
Wed Feb 8 13:07:20 UTC 2017


Hi,

In many workloads, there are significant number of primitive arrays. We can save
the concurrent mark time by avoiding traversing their oop contents. Which there
are none, but the downcall to oop_oop_iterate_nv still happens.

Patch:
  http://cr.openjdk.java.net/~shade/shenandoah/mark-primitive-arrays/webrev.01/


Improves mark times:

baseline:
 Concurrent Marking =    48.32 s (a =   549133 us) (n =    88)
   (lvls, us =   287109,   505859,   546875,   593750,   755718)

patched:
 Concurrent Marking =    46.95 s (a =   533516 us) (n =    88)
   (lvls, us =   283203,   494141,   523438,   572266,   744296)

Testing: hotspot_gc_shenandoah

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list