src/share/vm/opto/phase.cpp

changeset 1356
046932b72aa2
parent 1040
98cb887364d3
child 1907
c18cbe5936b8
     1.1 --- a/src/share/vm/opto/phase.cpp	Wed Aug 12 14:27:54 2009 -0700
     1.2 +++ b/src/share/vm/opto/phase.cpp	Fri Aug 14 00:02:12 2009 -0700
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright 1997-2008 Sun Microsystems, Inc.  All Rights Reserved.
     1.6 + * Copyright 1997-2009 Sun Microsystems, Inc.  All Rights Reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -53,6 +53,7 @@
    1.11  elapsedTimer Phase::_t_registerMethod;
    1.12  elapsedTimer Phase::_t_temporaryTimer1;
    1.13  elapsedTimer Phase::_t_temporaryTimer2;
    1.14 +elapsedTimer Phase::_t_idealLoopVerify;
    1.15  
    1.16  // Subtimers for _t_optimizer
    1.17  elapsedTimer   Phase::_t_iterGVN;
    1.18 @@ -88,51 +89,52 @@
    1.19    tty->print_cr ("Accumulated compiler times:");
    1.20    tty->print_cr ("---------------------------");
    1.21    tty->print_cr ("  Total compilation: %3.3f sec.", Phase::_t_totalCompilation.seconds());
    1.22 -  tty->print    ("    method compilation : %3.3f sec", Phase::_t_methodCompilation.seconds());
    1.23 +  tty->print    ("    method compilation   : %3.3f sec", Phase::_t_methodCompilation.seconds());
    1.24    tty->print    ("/%d bytes",_total_bytes_compiled);
    1.25    tty->print_cr (" (%3.0f bytes per sec) ", Phase::_total_bytes_compiled / Phase::_t_methodCompilation.seconds());
    1.26 -  tty->print_cr ("    stub compilation   : %3.3f sec.", Phase::_t_stubCompilation.seconds());
    1.27 +  tty->print_cr ("    stub compilation     : %3.3f sec.", Phase::_t_stubCompilation.seconds());
    1.28    tty->print_cr ("  Phases:");
    1.29 -  tty->print_cr ("    parse        : %3.3f sec", Phase::_t_parser.seconds());
    1.30 +  tty->print_cr ("    parse          : %3.3f sec", Phase::_t_parser.seconds());
    1.31    if (DoEscapeAnalysis) {
    1.32 -    tty->print_cr ("    escape analysis : %3.3f sec", Phase::_t_escapeAnalysis.seconds());
    1.33 +    tty->print_cr ("    escape analysis   : %3.3f sec", Phase::_t_escapeAnalysis.seconds());
    1.34    }
    1.35 -  tty->print_cr ("    optimizer    : %3.3f sec", Phase::_t_optimizer.seconds());
    1.36 +  tty->print_cr ("    optimizer      : %3.3f sec", Phase::_t_optimizer.seconds());
    1.37    if( Verbose || WizardMode ) {
    1.38 -    tty->print_cr ("      iterGVN      : %3.3f sec", Phase::_t_iterGVN.seconds());
    1.39 -    tty->print_cr ("      idealLoop    : %3.3f sec", Phase::_t_idealLoop.seconds());
    1.40 -    tty->print_cr ("      ccp          : %3.3f sec", Phase::_t_ccp.seconds());
    1.41 -    tty->print_cr ("      iterGVN2     : %3.3f sec", Phase::_t_iterGVN2.seconds());
    1.42 -    tty->print_cr ("      graphReshape : %3.3f sec", Phase::_t_graphReshaping.seconds());
    1.43 +    tty->print_cr ("      iterGVN        : %3.3f sec", Phase::_t_iterGVN.seconds());
    1.44 +    tty->print_cr ("      idealLoop      : %3.3f sec", Phase::_t_idealLoop.seconds());
    1.45 +    tty->print_cr ("      idealLoopVerify: %3.3f sec", Phase::_t_idealLoopVerify.seconds());
    1.46 +    tty->print_cr ("      ccp            : %3.3f sec", Phase::_t_ccp.seconds());
    1.47 +    tty->print_cr ("      iterGVN2       : %3.3f sec", Phase::_t_iterGVN2.seconds());
    1.48 +    tty->print_cr ("      graphReshape   : %3.3f sec", Phase::_t_graphReshaping.seconds());
    1.49      double optimizer_subtotal = Phase::_t_iterGVN.seconds() +
    1.50        Phase::_t_idealLoop.seconds() + Phase::_t_ccp.seconds() +
    1.51        Phase::_t_graphReshaping.seconds();
    1.52      double percent_of_optimizer = ((optimizer_subtotal == 0.0) ? 0.0 : (optimizer_subtotal / Phase::_t_optimizer.seconds() * 100.0));
    1.53 -    tty->print_cr ("      subtotal     : %3.3f sec,  %3.2f %%", optimizer_subtotal, percent_of_optimizer);
    1.54 +    tty->print_cr ("      subtotal       : %3.3f sec,  %3.2f %%", optimizer_subtotal, percent_of_optimizer);
    1.55    }
    1.56 -  tty->print_cr ("    matcher      : %3.3f sec", Phase::_t_matcher.seconds());
    1.57 -  tty->print_cr ("    scheduler    : %3.3f sec", Phase::_t_scheduler.seconds());
    1.58 -  tty->print_cr ("    regalloc     : %3.3f sec", Phase::_t_registerAllocation.seconds());
    1.59 +  tty->print_cr ("    matcher        : %3.3f sec", Phase::_t_matcher.seconds());
    1.60 +  tty->print_cr ("    scheduler      : %3.3f sec", Phase::_t_scheduler.seconds());
    1.61 +  tty->print_cr ("    regalloc       : %3.3f sec", Phase::_t_registerAllocation.seconds());
    1.62    if( Verbose || WizardMode ) {
    1.63 -    tty->print_cr ("      ctorChaitin  : %3.3f sec", Phase::_t_ctorChaitin.seconds());
    1.64 -    tty->print_cr ("      buildIFG     : %3.3f sec", Phase::_t_buildIFGphysical.seconds());
    1.65 -    tty->print_cr ("      computeLive  : %3.3f sec", Phase::_t_computeLive.seconds());
    1.66 -    tty->print_cr ("      regAllocSplit: %3.3f sec", Phase::_t_regAllocSplit.seconds());
    1.67 +    tty->print_cr ("      ctorChaitin    : %3.3f sec", Phase::_t_ctorChaitin.seconds());
    1.68 +    tty->print_cr ("      buildIFG       : %3.3f sec", Phase::_t_buildIFGphysical.seconds());
    1.69 +    tty->print_cr ("      computeLive    : %3.3f sec", Phase::_t_computeLive.seconds());
    1.70 +    tty->print_cr ("      regAllocSplit  : %3.3f sec", Phase::_t_regAllocSplit.seconds());
    1.71      tty->print_cr ("      postAllocCopyRemoval: %3.3f sec", Phase::_t_postAllocCopyRemoval.seconds());
    1.72 -    tty->print_cr ("      fixupSpills  : %3.3f sec", Phase::_t_fixupSpills.seconds());
    1.73 +    tty->print_cr ("      fixupSpills    : %3.3f sec", Phase::_t_fixupSpills.seconds());
    1.74      double regalloc_subtotal = Phase::_t_ctorChaitin.seconds() +
    1.75        Phase::_t_buildIFGphysical.seconds() + Phase::_t_computeLive.seconds() +
    1.76        Phase::_t_regAllocSplit.seconds()    + Phase::_t_fixupSpills.seconds() +
    1.77        Phase::_t_postAllocCopyRemoval.seconds();
    1.78      double percent_of_regalloc = ((regalloc_subtotal == 0.0) ? 0.0 : (regalloc_subtotal / Phase::_t_registerAllocation.seconds() * 100.0));
    1.79 -    tty->print_cr ("      subtotal     : %3.3f sec,  %3.2f %%", regalloc_subtotal, percent_of_regalloc);
    1.80 +    tty->print_cr ("      subtotal       : %3.3f sec,  %3.2f %%", regalloc_subtotal, percent_of_regalloc);
    1.81    }
    1.82 -  tty->print_cr ("    macroExpand  : %3.3f sec", Phase::_t_macroExpand.seconds());
    1.83 -  tty->print_cr ("    blockOrdering: %3.3f sec", Phase::_t_blockOrdering.seconds());
    1.84 -  tty->print_cr ("    peephole     : %3.3f sec", Phase::_t_peephole.seconds());
    1.85 -  tty->print_cr ("    codeGen      : %3.3f sec", Phase::_t_codeGeneration.seconds());
    1.86 -  tty->print_cr ("    install_code : %3.3f sec", Phase::_t_registerMethod.seconds());
    1.87 -  tty->print_cr ("    ------------ : ----------");
    1.88 +  tty->print_cr ("    macroExpand    : %3.3f sec", Phase::_t_macroExpand.seconds());
    1.89 +  tty->print_cr ("    blockOrdering  : %3.3f sec", Phase::_t_blockOrdering.seconds());
    1.90 +  tty->print_cr ("    peephole       : %3.3f sec", Phase::_t_peephole.seconds());
    1.91 +  tty->print_cr ("    codeGen        : %3.3f sec", Phase::_t_codeGeneration.seconds());
    1.92 +  tty->print_cr ("    install_code   : %3.3f sec", Phase::_t_registerMethod.seconds());
    1.93 +  tty->print_cr ("    -------------- : ----------");
    1.94    double phase_subtotal = Phase::_t_parser.seconds() +
    1.95      (DoEscapeAnalysis ? Phase::_t_escapeAnalysis.seconds() : 0.0) +
    1.96      Phase::_t_optimizer.seconds() + Phase::_t_graphReshaping.seconds() +
    1.97 @@ -143,7 +145,7 @@
    1.98    double percent_of_method_compile = ((phase_subtotal == 0.0) ? 0.0 : phase_subtotal / Phase::_t_methodCompilation.seconds()) * 100.0;
    1.99    // counters inside Compile::CodeGen include time for adapters and stubs
   1.100    // so phase-total can be greater than 100%
   1.101 -  tty->print_cr ("    total        : %3.3f sec,  %3.2f %%", phase_subtotal, percent_of_method_compile);
   1.102 +  tty->print_cr ("    total          : %3.3f sec,  %3.2f %%", phase_subtotal, percent_of_method_compile);
   1.103  
   1.104    assert( percent_of_method_compile > expected_method_compile_coverage ||
   1.105            phase_subtotal < minimum_meaningful_method_compile,
   1.106 @@ -157,8 +159,8 @@
   1.107      tty->cr();
   1.108      tty->print_cr ("    temporaryTimer2: %3.3f sec", Phase::_t_temporaryTimer2.seconds());
   1.109    }
   1.110 -  tty->print_cr ("    output    : %3.3f sec", Phase::_t_output.seconds());
   1.111 -  tty->print_cr ("      isched    : %3.3f sec", Phase::_t_instrSched.seconds());
   1.112 -  tty->print_cr ("      bldOopMaps: %3.3f sec", Phase::_t_buildOopMaps.seconds());
   1.113 +  tty->print_cr ("    output         : %3.3f sec", Phase::_t_output.seconds());
   1.114 +  tty->print_cr ("      isched         : %3.3f sec", Phase::_t_instrSched.seconds());
   1.115 +  tty->print_cr ("      bldOopMaps     : %3.3f sec", Phase::_t_buildOopMaps.seconds());
   1.116  }
   1.117  #endif

mercurial