Request for Reviews(M): 7092905: C2: Keep track of the number of dead nodes

Bharadwaj Yadavalli bharadwaj.yadavalli at oracle.com
Mon Nov 5 11:51:52 PST 2012


As a consequence of keeping a more accurate track of live and dead ideal 
nodes, we have the following ideal node counts to report in various log 
messages:

 1. number of nodes created (Compile::unique()) - access time O(1)
 2. number of nodes live as tracked via proposed code additions
    (Compile::live_nodes()) - access time O(1)
 3. number of nodes live computed by graph walk
    (Compile::count_live_nodes_by_graph_walk()) - O(N) where N is the
    number of nodes.

We have the following command line options (existing and proposed) that 
would log one or more of the above ideal node counts:

 1. LogCompilation - existing option
 2. PrintIdealNodeCount - proposed to print to console (tty)
 3. VerifyIdealNodeCount - proposed to verify that tracked live nodes is
    the same as live nodes computed by graph walk and emit a log message
    if they are not the same.

After reading through all the review comments on my RFR, following is my 
proposed way to incorporate the responses.
Move all the logging functionality into TracePhase so that it augments 
the information logged therein.

 1. LogCompilation - existing option
      * Augment the current logging via TracePhase; currently we just
        print out the number of nodes created (unique())
 2. PrintIdealNodeCount - print number of nodes created, live as tracked
    to console (tty)
 3. VerifyIdealNodeCount - if verification fails, print total nodes
    created, number of tracked live nodes and live nodes computed by
    graph walk.

If this sounds reasonable, I'll send out an updated webrev.

Thanks,

Bharadwaj

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20121105/05edbe84/attachment.html 


More information about the hotspot-compiler-dev mailing list