The function `field_layout_selection` which is used to decide how layout the 
fields of class does not handle the static fields case explicitly. 

Right now it depends on a subtle interaction with parsing and preloading 
classes where we have a short circuit for static field which means we do not 
add an InlineLayoutInfo for the static fields, which in turn makes the 
`field_layout_selection` think that this field is not a known value class and 
ends up using a reference. 

This is both hard to understand and might cause bugs in the future. I suggest 
we add and explicit return LayoutKind::REFERENCE; when the field is static in 
`field_layout_selection`.

-------------

Commit messages:
 - 8378650: [lworld] Make decision to not flatten static fields explicit in 
FieldLayoutBuilder

Changes: https://git.openjdk.org/valhalla/pull/2160/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2160&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8378650
  Stats: 10 lines in 1 file changed: 10 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/valhalla/pull/2160.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2160/head:pull/2160

PR: https://git.openjdk.org/valhalla/pull/2160

Reply via email to