review request (M): 6912064: type profiles need to be more thorough for dynamic language support
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri Jul 16 11:56:48 PDT 2010
OK.
Vladimir
John Rose wrote:
> On Jul 16, 2010, at 9:58 AM, Vladimir Kozlov wrote:
>
>> About last changes. Why you not do 'stopped()' check after that call?:
>>
>> 2668 cast_obj = maybe_cast_profiled_receiver(not_null_obj, data, tk->klass());
>
> Because the code (in gen_checkcast) works correctly in the case of dead control after the profile cast. When the obj_path control is dead, the null path might still be live, and the region/phi collect the right results in any case.
>
> Should I add a comment? (It's not the only way in which the two routines fail to be parallel, BTW.)
>
> Or, the other way to fix it might be to have load_object_klass and gen_subtype_check DTRT with dead control, and remove the explicit check in gen_instanceof. I took the path of least resistance.
>
> -- John
>
More information about the hotspot-compiler-dev
mailing list