hotspot/src/share/vm/opto/phase.cpp
author kvn
Fri, 21 Nov 2014 17:17:41 -0800
changeset 27704 88c9f3b507ff
parent 26913 9ad70cd32368
child 28648 102bdbb42723
permissions -rw-r--r--
8065618: C2 RA incorrectly removes kill projections Summary: Don't remove KILL projections if their "defining" nodes have SCMemProj projection (memory side effects). Reviewed-by: iveresov
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
/*
22234
da823d78ad65 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
mikael
parents: 17383
diff changeset
     2
 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     4
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
489c9b5090e2 Initial load
duke
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
489c9b5090e2 Initial load
duke
parents:
diff changeset
     7
 * published by the Free Software Foundation.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     8
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
489c9b5090e2 Initial load
duke
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
489c9b5090e2 Initial load
duke
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
489c9b5090e2 Initial load
duke
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
489c9b5090e2 Initial load
duke
parents:
diff changeset
    13
 * accompanied this code).
489c9b5090e2 Initial load
duke
parents:
diff changeset
    14
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
489c9b5090e2 Initial load
duke
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    18
 *
5547
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 3676
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 3676
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
f4b087cbb361 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 3676
diff changeset
    21
 * questions.
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    22
 *
489c9b5090e2 Initial load
duke
parents:
diff changeset
    23
 */
489c9b5090e2 Initial load
duke
parents:
diff changeset
    24
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 5547
diff changeset
    25
#include "precompiled.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 5547
diff changeset
    26
#include "code/nmethod.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 5547
diff changeset
    27
#include "compiler/compileBroker.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 5547
diff changeset
    28
#include "opto/compile.hpp"
22844
90f76a40ed8a 8003854: PPC64 (part 115): Introduce PostallocExpand that expands nodes after register allocation
goetz
parents: 17383
diff changeset
    29
#include "opto/matcher.hpp"
7397
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 5547
diff changeset
    30
#include "opto/node.hpp"
5b173b4ca846 6989984: Use standard include model for Hospot
stefank
parents: 5547
diff changeset
    31
#include "opto/phase.hpp"
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    32
489c9b5090e2 Initial load
duke
parents:
diff changeset
    33
int Phase::_total_bytes_compiled = 0;
489c9b5090e2 Initial load
duke
parents:
diff changeset
    34
489c9b5090e2 Initial load
duke
parents:
diff changeset
    35
elapsedTimer Phase::_t_totalCompilation;
489c9b5090e2 Initial load
duke
parents:
diff changeset
    36
elapsedTimer Phase::_t_methodCompilation;
489c9b5090e2 Initial load
duke
parents:
diff changeset
    37
elapsedTimer Phase::_t_stubCompilation;
489c9b5090e2 Initial load
duke
parents:
diff changeset
    38
26913
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    39
// The counters to use for LogCompilation
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    40
elapsedTimer Phase::timers[max_phase_timers];
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    41
489c9b5090e2 Initial load
duke
parents:
diff changeset
    42
//------------------------------Phase------------------------------------------
489c9b5090e2 Initial load
duke
parents:
diff changeset
    43
Phase::Phase( PhaseNumber pnum ) : _pnum(pnum), C( pnum == Compiler ? NULL : Compile::current()) {
2131
98f9cef66a34 6810672: Comment typos
twisti
parents: 1623
diff changeset
    44
  // Poll for requests from shutdown mechanism to quiesce compiler (4448539, 4448544).
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    45
  // This is an effective place to poll, since the compiler is full of phases.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    46
  // In particular, every inlining site uses a recursively created Parse phase.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    47
  CompileBroker::maybe_block();
489c9b5090e2 Initial load
duke
parents:
diff changeset
    48
}
489c9b5090e2 Initial load
duke
parents:
diff changeset
    49
26913
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    50
void Phase::print_timers() {
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    51
  tty->print_cr ("    C2 Compile Time:      %7.3f s", Phase::_t_totalCompilation.seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    52
  tty->print_cr ("       Parse:               %7.3f s", timers[_t_parser].seconds());
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    53
26913
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    54
  {
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    55
    tty->print_cr ("       Optimize:            %7.3f s", timers[_t_optimizer].seconds());
8319
aedb3bd871bc 7013538: Java memory leak with escape analysis
kvn
parents: 7397
diff changeset
    56
    if (DoEscapeAnalysis) {
aedb3bd871bc 7013538: Java memory leak with escape analysis
kvn
parents: 7397
diff changeset
    57
      // EA is part of Optimizer.
26913
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    58
      tty->print_cr ("         Escape Analysis:     %7.3f s", timers[_t_escapeAnalysis].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    59
      tty->print_cr ("           Conn Graph:          %7.3f s", timers[_t_connectionGraph].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    60
      tty->print_cr ("           Macro Eliminate:     %7.3f s", timers[_t_macroEliminate].seconds());
8319
aedb3bd871bc 7013538: Java memory leak with escape analysis
kvn
parents: 7397
diff changeset
    61
    }
26913
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    62
    tty->print_cr ("         GVN 1:               %7.3f s", timers[_t_iterGVN].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    63
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    64
    {
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    65
       tty->print_cr ("         Incremental Inline:  %7.3f s", timers[_t_incrInline].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    66
       tty->print_cr ("           IdealLoop:           %7.3f s", timers[_t_incrInline_ideal].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    67
       tty->print_cr ("           IGVN:                %7.3f s", timers[_t_incrInline_igvn].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    68
       tty->print_cr ("           Inline:              %7.3f s", timers[_t_incrInline_inline].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    69
       tty->print_cr ("           Prune Useless:       %7.3f s", timers[_t_incrInline_pru].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    70
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    71
       double other = timers[_t_incrInline].seconds() -
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    72
        (timers[_t_incrInline_ideal].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    73
         timers[_t_incrInline_igvn].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    74
         timers[_t_incrInline_inline].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    75
         timers[_t_incrInline_pru].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    76
       if (other > 0) {
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    77
         tty->print_cr("           Other:               %7.3f s", other);
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    78
       }
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    79
    }
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    80
    tty->print_cr ("         IdealLoop:           %7.3f s", timers[_t_idealLoop].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    81
    tty->print_cr ("         IdealLoop Verify:    %7.3f s", timers[_t_idealLoopVerify].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    82
    tty->print_cr ("         Cond Const Prop:     %7.3f s", timers[_t_ccp].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    83
    tty->print_cr ("         GVN 2:               %7.3f s", timers[_t_iterGVN2].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    84
    tty->print_cr ("         Macro Expand:        %7.3f s", timers[_t_macroExpand].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    85
    tty->print_cr ("         Graph Reshape:       %7.3f s", timers[_t_graphReshaping].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    86
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    87
    double other = timers[_t_optimizer].seconds() -
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    88
      (timers[_t_escapeAnalysis].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    89
       timers[_t_iterGVN].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    90
       timers[_t_incrInline].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    91
       timers[_t_idealLoop].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    92
       timers[_t_idealLoopVerify].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    93
       timers[_t_ccp].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    94
       timers[_t_iterGVN2].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    95
       timers[_t_macroExpand].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    96
       timers[_t_graphReshaping].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    97
    if (other > 0) {
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    98
      tty->print_cr("         Other:               %7.3f s", other);
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
    99
    }
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   100
  }
26913
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   101
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   102
  tty->print_cr ("       Matcher:             %7.3f s", timers[_t_matcher].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   103
  tty->print_cr ("       Scheduler:           %7.3f s", timers[_t_scheduler].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   104
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   105
  {
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   106
    tty->print_cr ("       Regalloc:            %7.3f s", timers[_t_registerAllocation].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   107
    tty->print_cr ("         Ctor Chaitin:        %7.3f s", timers[_t_ctorChaitin].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   108
    tty->print_cr ("         Build IFG (virt):    %7.3f s", timers[_t_buildIFGvirtual].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   109
    tty->print_cr ("         Build IFG (phys):    %7.3f s", timers[_t_buildIFGphysical].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   110
    tty->print_cr ("         Compute Liveness:    %7.3f s", timers[_t_computeLive].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   111
    tty->print_cr ("         Regalloc Split:      %7.3f s", timers[_t_regAllocSplit].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   112
    tty->print_cr ("         Postalloc Copy Rem:  %7.3f s", timers[_t_postAllocCopyRemoval].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   113
    tty->print_cr ("         Fixup Spills:        %7.3f s", timers[_t_fixupSpills].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   114
    tty->print_cr ("         Compact:             %7.3f s", timers[_t_chaitinCompact].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   115
    tty->print_cr ("         Coalesce 1:          %7.3f s", timers[_t_chaitinCoalesce1].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   116
    tty->print_cr ("         Coalesce 2:          %7.3f s", timers[_t_chaitinCoalesce2].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   117
    tty->print_cr ("         Coalesce 3:          %7.3f s", timers[_t_chaitinCoalesce3].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   118
    tty->print_cr ("         Cache LRG:           %7.3f s", timers[_t_chaitinCacheLRG].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   119
    tty->print_cr ("         Simplify:            %7.3f s", timers[_t_chaitinSimplify].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   120
    tty->print_cr ("         Select:              %7.3f s", timers[_t_chaitinSelect].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   121
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   122
    double other = timers[_t_registerAllocation].seconds() -
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   123
      (timers[_t_ctorChaitin].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   124
       timers[_t_buildIFGvirtual].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   125
       timers[_t_buildIFGphysical].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   126
       timers[_t_computeLive].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   127
       timers[_t_regAllocSplit].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   128
       timers[_t_postAllocCopyRemoval].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   129
       timers[_t_fixupSpills].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   130
       timers[_t_chaitinCompact].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   131
       timers[_t_chaitinCoalesce1].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   132
       timers[_t_chaitinCoalesce2].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   133
       timers[_t_chaitinCoalesce3].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   134
       timers[_t_chaitinCacheLRG].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   135
       timers[_t_chaitinSimplify].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   136
       timers[_t_chaitinSelect].seconds());
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   137
26913
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   138
    if (other > 0) {
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   139
      tty->print_cr("         Other:               %7.3f s", other);
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   140
    }
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   141
  }
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   142
  tty->print_cr ("       Block Ordering:      %7.3f s", timers[_t_blockOrdering].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   143
  tty->print_cr ("       Peephole:            %7.3f s", timers[_t_peephole].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   144
  if (Matcher::require_postalloc_expand) {
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   145
    tty->print_cr ("       Postalloc Expand:    %7.3f s", timers[_t_postalloc_expand].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   146
  }
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   147
  tty->print_cr ("       Code Emission:         %7.3f s", timers[_t_output].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   148
  tty->print_cr ("         Insn Scheduling:     %7.3f s", timers[_t_instrSched].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   149
  tty->print_cr ("         Build OOP maps:      %7.3f s", timers[_t_buildOopMaps].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   150
  tty->print_cr ("       Code Installation:   %7.3f s", timers[_t_registerMethod].seconds());
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   151
26913
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   152
  if( timers[_t_temporaryTimer1].seconds() > 0 ) {
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   153
    tty->cr();
26913
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   154
    tty->print_cr ("       Temp Timer 1:        %7.3f s", timers[_t_temporaryTimer1].seconds());
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   155
  }
26913
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   156
  if( timers[_t_temporaryTimer2].seconds() > 0 ) {
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   157
    tty->cr();
26913
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   158
    tty->print_cr ("       Temp Timer 2:        %7.3f s", timers[_t_temporaryTimer2].seconds());
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   159
  }
26913
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   160
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   161
   double other = Phase::_t_totalCompilation.seconds() -
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   162
      (timers[_t_parser].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   163
       timers[_t_optimizer].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   164
       timers[_t_matcher].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   165
       timers[_t_scheduler].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   166
       timers[_t_registerAllocation].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   167
       timers[_t_blockOrdering].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   168
       timers[_t_peephole].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   169
       timers[_t_postalloc_expand].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   170
       timers[_t_output].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   171
       timers[_t_registerMethod].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   172
       timers[_t_temporaryTimer1].seconds() +
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   173
       timers[_t_temporaryTimer2].seconds());
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   174
    if (other > 0) {
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   175
      tty->print_cr("       Other:               %7.3f s", other);
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   176
    }
9ad70cd32368 8058968: Compiler time traces should be improved
shade
parents: 22872
diff changeset
   177
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
   178
}