Adapter sharing is broken with -XX:+ValueTypePassFieldsAsArgs

Tobias Hartmann tobias.hartmann at oracle.com
Mon Mar 27 13:31:24 UTC 2017


Hi,

please review the following fix:
http://cr.openjdk.java.net/~thartmann/valhalla/vt_prototype/webrev.12/

The C2I and I2C adapters of different methods are shared if the methods have a matching signature. Arguments of type T_BOOLEAN, T_BYTE, T_SHORT and T_CHAR are widened to type T_INT. This does not work with -XX:+ValueTypePassFieldsAsArgs because value types are passed field-by-field and to be able to load/store the correct values from/to the buffer, we need an adapter that matches with the exact field type in the signature.

Thanks to Fred for catching and reporting this issue!

Best regards,
Tobias


More information about the valhalla-dev mailing list