There's a special case for Parse. If current compilation is OSR and it is handling the top-level method(depth() == 1), then
_entry_bci = C->entry_bci();
_tf = C->tf();
_flow = method()->get_osr_flow_analysis(_entry_bci);
We don't need to assign those member data twice.
we can also share the _flow->failing() logic.
It's worth mentioning that we can't save ciTypeFlow computation because
get_osr_flow_analysis(_entry_bci) actually needs get_flow_analysis(method()).
_entry_bci = C->entry_bci();
_tf = C->tf();
_flow = method()->get_osr_flow_analysis(_entry_bci);
We don't need to assign those member data twice.
we can also share the _flow->failing() logic.
It's worth mentioning that we can't save ciTypeFlow computation because
get_osr_flow_analysis(_entry_bci) actually needs get_flow_analysis(method()).