Adapter sharing is broken with -XX:+ValueTypePassFieldsAsArgs

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


Hi Roland

On 28.03.2017 11:20, Roland Westrelin wrote:
> Why isn't this:
> 
> http://hg.openjdk.java.net/valhalla/valhalla/hotspot/rev/453b599a04b4
> 
> 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.

Right?

Best regards,
Tobias


More information about the valhalla-dev mailing list