RFR(M): 8206141: [lworld] Improve accessing a flattened value type array passed as Object[]

Roland Westrelin rwestrel at redhat.com
Fri Sep 14 14:34:50 UTC 2018


We currently deoptimize for loads/stores of value types from a flattened
array of unknown values. This implements:

- loading as an object allocation + a bulk copy using the machinery of
  the clone() intrinsic (with most gc, there's also a fallback to a
  runtime call)

- storing as a call to the C++ runtime (because barriers need to be
  applied if the value has a reference field).

As a subsequent optimization, we could add a fast check for reference
fields in a value and always use the clone intrinsic() for both loads
and stores if there's no reference field.


More information about the valhalla-dev mailing list