RFR: 8187817 [MVT] Crash with "assert(has_value_fields()) failed: Sanity checking" when inheriting value type fields

Frederic Parain frederic.parain at oracle.com
Thu Oct 5 14:45:35 UTC 2017

Please, review this changeset fixing bug JDK-8187817.

Most operation on value fields require to have a pointer to the
ValueKlass of the field, and retrieving the ValueKlass is a
costly operation. The InstanceKlass class has been extended
to include an array of ValueKlass pointers for its fields,
making the retrieval much faster.
The bug was that the code not cirrectly handling the case
where value fields were inherited from a parent class.
Operations on the ValueKlass array were being performed on the
current class and instead of the class where the fields were declared.


An unit test is included.
All hotspot_valhalla tests pass.

Thank you,


More information about the valhalla-dev mailing list