RFR: Klass is_<x>Array() fix, and support for value type ref fields with Parallel GC

Frederic Parain frederic.parain at oracle.com
Tue Mar 21 21:04:58 UTC 2017


Looks good to me.

Fred

> On Mar 16, 2017, at 08:46, David Simms <david.simms at oracle.com> wrote:
> 
> Hi all,
> 
> http://cr.openjdk.java.net/~dsimms/valhalla/valueoops/webrev1/
> 
>    As follow-up to "Value Types with ref fields, GC: Serial and G1" change earlier today, I realized only a few simple changes were required for basic Parallel GC support. Main outage: ValueArrayKlass::oop_pc_follow_contents() is not parallel as is the case for ObjArrayKlass.
> 
>    The main change is actually a bug fix, whereby Klass layout helper was always set "is_typeArray()" to true for valueArrayKlass. Previous to adding reference fields to value type this wasn't much of a problem. There is a fair amount of GC code which checks "is_typeArray()" then "nothing to do here".
> 
>    One could argue that value arrays, could use the obj array bit for rather than testing "valueKlass::contains_oops()", but for clarity, I simply added another discrete array tag bit. Arrays are one of three things, but not two of three as was the case (value and type array).
> 
> 
> Cheers
> 
> /David Simms
> 
> 
> 
> 




More information about the valhalla-dev mailing list