RFR(L): 8005071: Incremental inlining for JSR 292

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Dec 21 07:39:23 PST 2012

On 12/21/12 5:46 AM, Roland Westrelin wrote:
> Hi Vladimir,
> Thanks for taking another look at this.
> I've applied all your suggestions but this one:
>> Also use phi->as_Phi()->is_diamond_phi() instead of region's inputs checks.
> I don't think that would work in every cases. Because one of the input is top, the CmpP, if it's ahead of the Region in the igvn's worklist, will go away and be replaced by top and then when the Region is processed, phi->as_Phi()->is_diamond_phi() won't return true.

But in such case nothing prevents this diamond-shape subgraph collapse 
into top before you will have a chance to process the Region. Can we 
detect that one of Cmp's inputs is Top early in StringOpts and replace 
Bool with 'false' as John suggested? Or in IfNode::Ideal detect and do 
this to prevent collapsing.

Also you are missing in(1)->in(0)->is_If() check if you can't use 


> Roland.

More information about the hotspot-compiler-dev mailing list