Request for reviews (S): 6991188: C2 Crashes while compiling method

Tom Rodriguez tom.rodriguez at oracle.com
Fri Nov 5 13:52:00 PDT 2010


Should we do something more than retry without EA if it takes more iterations than we expect?  Maybe an assert(false in debug mode?  Otherwise it looks good.

tom

On Nov 4, 2010, at 3:24 PM, Vladimir Kozlov wrote:

> http://cr.openjdk.java.net/~kvn/6991188/webrev.01
> 
> I updated changes based on comments and found issues.
> Use separate worklist in new loop code since cg_worklist
> does not have Store and Call nodes (they are UnknownType).
> Call node should not be marked processed since their
> arguments may need more then one pass to add all edges.
> Reuse GrowableArray worklist instead of creating few new.
> 
> Thanks,
> Vladimir
> 
> Vladimir Kozlov wrote:
>> http://cr.openjdk.java.net/~kvn/6991188/webrev.00
>> Fixed 6991188: C2 Crashes while compiling method
>> Construction of Connection Graph during EA relied on
>> DU relation corresponds to nodes index so that def
>> nodes processed before their uses. Move EA after
>> IGVN (for 6966411 fix broke that. Because of that
>> not all Graph edges will be created leading to
>> incorrect EA results and incorrect Ideal graph.
>> Walk over interesting nodes (AddP, LoadP, StoreP)
>> several times until no new edges are created.
>> Set limit on iterations.
>> Tested with assert in iterations bailout code and
>> calls to PhaseIdealLoop::verify() (removed from
>> final changes). Passed JPRT, full CTW, nsk.



More information about the hotspot-compiler-dev mailing list