RFR 8223345 [lworld] Implement ValueTypeReturnedAsFields for C1
tobias.hartmann at oracle.com
Wed May 8 07:20:41 UTC 2019
On 04.05.19 02:13, Ioi Lam wrote:
> The implementation is pretty straight-forward as most of the work of packing/unpacking is done
> inside runtime functions, the same as the interpreter.
> I refactored MacroAssembler::store_value_type_fields_to_buf so that it can be reused between the
> interpreter and C1.
Looks good to me.
> One problem with the current way of using the runtime functions is that it's neither fast, nor small
> + For better performance, it might be better to do the packing/unpacking in-line.
> I'll leave that for future optimization.
Right, let's leave that for later.
> + On the other hand, if we want smaller code, I think the inline-allocation code can
> be moved into ValueKlass::pack_handler(). I might do that as a separate RFE.
The pack_handler is also used by C2 and there we might want the allocation to happen in compiled
code to allow optimizations. But we can investigate this as part of a separate RFE.
> I've added FIXME comments in the code for the above.
> - Ioi
More information about the valhalla-dev