Re: RFR(M): 8223029: [lworld] C2 support for widening/narrowing conversion "[QFoo;" <: "[LFoo;”
Tobias Hartmann
tobias.hartmann at oracle.com
Mon May 13 13:59:23 UTC 2019
Hi Roland,
thanks for looking at this.
On 13.05.19 15:50, Roland Westrelin wrote:
> I'm confused by the change to Parse::array_load():
>
> 94 if (elemptr->is_valuetypeptr()) {
>
> When would that happen?
This happens when we access a [MyValue? array. Similar to accessing an Object array, we cannot
statically determine if the array is flattened and need to emit a runtime check. But at least we
know the exact type and can avoid the runtime call.
I've modified the condition in line 75/76 to handle this:
|| (elemptr->is_valuetypeptr() && elemptr->value_klass()->flatten_array()))
Thanks,
Tobias
More information about the valhalla-dev
mailing list