RFR(XS): 8228367: [lworld] Constant, null-free inline type fields should be treated as flattenable

Remi Forax forax at univ-mlv.fr
Fri Jul 19 15:02:49 UTC 2019


Hi Tobias,
this seems wrong to me, it's the tail wagging the dog.

The scalarization has nothing to do with the fact of being flattenable or not,
the flattenability is a storage property so for value in fields or array elements, not for value on the stack.

Being a null-free inline type is enough, you do not have to check if the fields are flattenable or not.

Rémi

----- Mail original -----
> De: "Tobias Hartmann" <tobias.hartmann at oracle.com>
> À: "valhalla-dev" <valhalla-dev at openjdk.java.net>
> Envoyé: Jeudi 18 Juillet 2019 14:26:11
> Objet: RFR(XS): 8228367: [lworld] Constant, null-free inline type fields should be treated as flattenable

> Hi,
> 
> please review the following patch:
> https://bugs.openjdk.java.net/browse/JDK-8228367
> http://cr.openjdk.java.net/~thartmann/8228367/webrev.00/
> 
> When loading a constant, null-free inline type field from an inline type, we
> should treat that field
> as flattenable (even if it is not declared as flattenable) to trigger
> scalarization.
> 
> I also had to remove the assert in ValueTypeNode::pass_fields because it is too
> strong.
> 
> Thanks,
> Tobias


More information about the valhalla-dev mailing list