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