review request (M): 6912064: type profiles need to be more thorough for dynamic language support
John Rose
john.r.rose at oracle.com
Fri Jul 16 11:56:36 PDT 2010
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