RFR 8223345 [lworld] Implement ValueTypeReturnedAsFields for C1

Ioi Lam ioi.lam at oracle.com
Sat May 4 00:13:10 UTC 2019


https://bugs.openjdk.java.net/browse/JDK-8223345
http://cr.openjdk.java.net/~iklam/valhalla/8223345-c1_return_vt_as_fields.v01/

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.

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.

+ 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.

I've added FIXME comments in the code for the above.

Thanks
- Ioi



More information about the valhalla-dev mailing list