review request (M): 6912064: type profiles need to be more thorough for dynamic language support

John Rose john.r.rose at oracle.com
Fri Aug 20 23:48:33 PDT 2010


FYI: I attempted to commit this last month; the jprt sync failed and I timed out for the Summit.

I just started a jprt job to integrate this change...

-- John

On Jul 16, 2010, at 11:56 AM, Vladimir Kozlov wrote:

> 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