Flattened value type field support for C2
tobias.hartmann at oracle.com
Mon Nov 14 14:19:06 UTC 2016
On 14.11.2016 14:54, Roland Westrelin wrote:
> Hi Tobias,
>> - fixed deoptimization to correctly reassign flattened value type fields
> So reassigning a field can now fail and we then return to interpreted
> code with a pending exception and the field not properly initialized?
Yes, this may happen due to the SymbolTable lookup that is necessary to get the Klass of the flattened value type field. One of the items on my todo list is to get rid of those lookups. We also need them in ciInstanceKlass::get_field_type_by_offset() and some places in the interpreter:
// It would be better to have another way to retrieve the field klass
// than doing a lookup in the SystemDictionary
In this case, the question is if it wouldn't be okay to throw an exception if the lookup fails?
> I took a quick look to the change and it looks good to me.
Thanks for taking a look!
More information about the valhalla-dev