RFR(M): 8222221: [lworld] Valhalla causes performance slowdown for reflective invocations
Roland Westrelin
rwestrel at redhat.com
Wed Jul 3 12:08:22 UTC 2019
> On 02.07.19 15:51, Roland Westrelin wrote:
>> Why drop stuff related to Compile::_type_hwm?
>
> Because it's unused code.
Would be nice to do that clean up upstream as well.
>> Why no check for is_not_flat() for the first generate_valueArray_guard
>> below?
> Because we only have a TypeKlassPtr from the array type mirror but no TypeAryPtr for the destination
> type.
Ok.
>> Shouldn't the is_not_flat() test be in
>> generate_valueArray_guard()?
>>
>> 4042 Node* is_flat = generate_valueArray_guard(klass_node, NULL);
>> 4043 if (!original_t->is_not_flat()) {
>> 4044 generate_valueArray_guard(original_kls, bailout);
>> 4045 }
>
> generate_valueArray_guard takes a klass but the is_not_flat() check needs to be done on TypeAryPtr.
Maybe it would make sense to change the signature of
generate_valueArray_guard() then so all is_not_flat() checks are in one
location rather than duplicated in many places?
Roland.
More information about the valhalla-dev
mailing list