Adapter sharing is broken with -XX:+ValueTypePassFieldsAsArgs

Tobias Hartmann tobias.hartmann at
Tue Mar 28 10:32:27 UTC 2017

Hi Roland

On 28.03.2017 11:20, Roland Westrelin wrote:
> Why isn't this:
> sufficient?

Because we would still treat these signatures as equal (MyValue has an int field):

m1(MyValue v) -> (T_VALUETYPE, T_INT, T_VOID)
m2(Object o1, int i, Object o2) -> (T_OBJECT, T_INT, T_OBJECT)

Which is not correct because we cannot use the adapter for m2 to pass a value type to m1.


Best regards,

More information about the valhalla-dev mailing list