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