RFR(L): 8185556: [MVT] C2 compiler support for non-flattened value type fields

Roland Westrelin rwestrel at redhat.com
Thu Sep 28 15:24:19 UTC 2017

> In more detail: We need a null check because non-flattened value type fields can be NULL. The null check has two 
> branches: in the not_null branch, we load the value type fields from the oop and in the null branch we use the default 
> value type. The region then merges both branches. Subsequent code now needs to use the updated ctl when we continue 
> parsing because the actual field values are dependent on the null check.

But then you reset the control to the control that is before the null

 442         Node* ctl = map->control();
 443         arg = ValueTypeNode::make(gvn, ctl, map->memory(), arg);
 444         map->set_control(ctl);


More information about the valhalla-dev mailing list