C2 support for reference fields in value types

Roland Westrelin rwestrel at redhat.com
Thu Apr 27 15:57:32 UTC 2017


Hi Tobias,

> - Extended nmethod::preserve_callee_argument_oops() to correctly
> iterate over reference fields that are passed as arguments if
> ValueTypePassFieldsAsArgs is enabled

Instead of indirecting through the adapter to get the extended
signature, could you instead:

- in gen_c2i_adapter() rather than build an OopMap with all registers,
construct one that only contains live oops

- then make the gc code use that oop map, maybe by not going through
nmethod::preserve_callee_argument_oops() at all?

Roland.


More information about the valhalla-dev mailing list