Request for reviews (S): 6991188: C2 Crashes while compiling method
vladimir.kozlov at oracle.com
Thu Nov 4 15:24:09 PDT 2010
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.
Vladimir Kozlov wrote:
> 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