hotspot/src/share/vm/opto/phase.cpp
changeset 22844 90f76a40ed8a
parent 17383 3665c0901a0d
child 22872 b6902ee5bc8d
equal deleted inserted replaced
22843:b245fac3b6a4 22844:90f76a40ed8a
    24 
    24 
    25 #include "precompiled.hpp"
    25 #include "precompiled.hpp"
    26 #include "code/nmethod.hpp"
    26 #include "code/nmethod.hpp"
    27 #include "compiler/compileBroker.hpp"
    27 #include "compiler/compileBroker.hpp"
    28 #include "opto/compile.hpp"
    28 #include "opto/compile.hpp"
       
    29 #include "opto/matcher.hpp"
    29 #include "opto/node.hpp"
    30 #include "opto/node.hpp"
    30 #include "opto/phase.hpp"
    31 #include "opto/phase.hpp"
    31 
    32 
    32 #ifndef PRODUCT
    33 #ifndef PRODUCT
    33 int Phase::_total_bytes_compiled = 0;
    34 int Phase::_total_bytes_compiled = 0;
    53 elapsedTimer Phase::_t_scheduler;
    54 elapsedTimer Phase::_t_scheduler;
    54 elapsedTimer Phase::_t_blockOrdering;
    55 elapsedTimer Phase::_t_blockOrdering;
    55 elapsedTimer Phase::_t_macroEliminate;
    56 elapsedTimer Phase::_t_macroEliminate;
    56 elapsedTimer Phase::_t_macroExpand;
    57 elapsedTimer Phase::_t_macroExpand;
    57 elapsedTimer Phase::_t_peephole;
    58 elapsedTimer Phase::_t_peephole;
       
    59 elapsedTimer Phase::_t_postalloc_expand;
    58 elapsedTimer Phase::_t_codeGeneration;
    60 elapsedTimer Phase::_t_codeGeneration;
    59 elapsedTimer Phase::_t_registerMethod;
    61 elapsedTimer Phase::_t_registerMethod;
    60 elapsedTimer Phase::_t_temporaryTimer1;
    62 elapsedTimer Phase::_t_temporaryTimer1;
    61 elapsedTimer Phase::_t_temporaryTimer2;
    63 elapsedTimer Phase::_t_temporaryTimer2;
    62 elapsedTimer Phase::_t_idealLoopVerify;
    64 elapsedTimer Phase::_t_idealLoopVerify;
   142     double percent_of_regalloc = ((regalloc_subtotal == 0.0) ? 0.0 : (regalloc_subtotal / Phase::_t_registerAllocation.seconds() * 100.0));
   144     double percent_of_regalloc = ((regalloc_subtotal == 0.0) ? 0.0 : (regalloc_subtotal / Phase::_t_registerAllocation.seconds() * 100.0));
   143     tty->print_cr ("      subtotal       : %3.3f sec,  %3.2f %%", regalloc_subtotal, percent_of_regalloc);
   145     tty->print_cr ("      subtotal       : %3.3f sec,  %3.2f %%", regalloc_subtotal, percent_of_regalloc);
   144   }
   146   }
   145   tty->print_cr ("    blockOrdering  : %3.3f sec", Phase::_t_blockOrdering.seconds());
   147   tty->print_cr ("    blockOrdering  : %3.3f sec", Phase::_t_blockOrdering.seconds());
   146   tty->print_cr ("    peephole       : %3.3f sec", Phase::_t_peephole.seconds());
   148   tty->print_cr ("    peephole       : %3.3f sec", Phase::_t_peephole.seconds());
       
   149   if (Matcher::require_postalloc_expand) {
       
   150     tty->print_cr ("    postalloc_expand: %3.3f sec", Phase::_t_postalloc_expand.seconds());
       
   151   }
   147   tty->print_cr ("    codeGen        : %3.3f sec", Phase::_t_codeGeneration.seconds());
   152   tty->print_cr ("    codeGen        : %3.3f sec", Phase::_t_codeGeneration.seconds());
   148   tty->print_cr ("    install_code   : %3.3f sec", Phase::_t_registerMethod.seconds());
   153   tty->print_cr ("    install_code   : %3.3f sec", Phase::_t_registerMethod.seconds());
   149   tty->print_cr ("    -------------- : ----------");
   154   tty->print_cr ("    -------------- : ----------");
   150   double phase_subtotal = Phase::_t_parser.seconds() +
   155   double phase_subtotal = Phase::_t_parser.seconds() +
   151     Phase::_t_optimizer.seconds() + Phase::_t_graphReshaping.seconds() +
   156     Phase::_t_optimizer.seconds() + Phase::_t_graphReshaping.seconds() +