Request for reviews (updated)(M): 6860599: nodes limit could be reached in Output phase

Vladimir Kozlov Vladimir.Kozlov at Sun.COM
Thu Jul 23 09:48:10 PDT 2009


I updated changes based on the discussion.
I also changed the subject of the bug.

http://cr.openjdk.java.net/~kvn/6860599/webrev.02

Fixed 6860599: nodes limit could be reached in Output phase

Problem:
I got several CTW cases when without EA C2 "gracefully"
bailout compilation when nodes limit check failed during
macro nodes expansion. And with EA it passed macro nodes
expansion but crashed with ASSERT during Output phase.
One byte MachNop nodes are used in debug mode for loops
and calls alignment in Output phase. As result for a big
method the node limit could be reached.

Solution:
Bailout compilation if nodes limit could be reached
during Output phase. Remove unneeded MachNop nodes creation
(after each block) used only to get its size.
Collect additional information (inner loops and java calls
counts) during final_graph_reshaping.
Rename Final_Reshape_Counts fpu variable to frc since now
it contains more information.

Reviewed by:

Fix verified (y/n): y, bug's test

Other testing:
JPRT, CTW




More information about the hotspot-compiler-dev mailing list