src/share/vm/opto/phasetype.hpp

Fri, 11 Jul 2014 19:51:36 -0400

author
drchase
date
Fri, 11 Jul 2014 19:51:36 -0400
changeset 7161
fc2c88ea11a9
parent 0
f90c822e73f8
permissions
-rw-r--r--

8036588: VerifyFieldClosure fails instanceKlass:3133
Summary: Changed deopt live-pointer test to use returns-object instead of live-and-returns-object
Reviewed-by: iveresov, kvn, jrose

     1 /*
     2  * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     8  *
     9  * This code is distributed in the hope that it will be useful, but WITHOUT
    10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12  * version 2 for more details (a copy is included in the LICENSE file that
    13  * accompanied this code).
    14  *
    15  * You should have received a copy of the GNU General Public License version
    16  * 2 along with this work; if not, write to the Free Software Foundation,
    17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18  *
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20  * or visit www.oracle.com if you need additional information or have any
    21  * questions.
    22  *
    23  */
    25 #ifndef SHARE_VM_OPTO_PHASETYPE_HPP
    26 #define SHARE_VM_OPTO_PHASETYPE_HPP
    28 enum CompilerPhaseType {
    29   PHASE_BEFORE_STRINGOPTS,
    30   PHASE_AFTER_STRINGOPTS,
    31   PHASE_BEFORE_REMOVEUSELESS,
    32   PHASE_AFTER_PARSING,
    33   PHASE_ITER_GVN1,
    34   PHASE_PHASEIDEAL_BEFORE_EA,
    35   PHASE_ITER_GVN_AFTER_EA,
    36   PHASE_ITER_GVN_AFTER_ELIMINATION,
    37   PHASE_PHASEIDEALLOOP1,
    38   PHASE_PHASEIDEALLOOP2,
    39   PHASE_PHASEIDEALLOOP3,
    40   PHASE_CPP1,
    41   PHASE_ITER_GVN2,
    42   PHASE_PHASEIDEALLOOP_ITERATIONS,
    43   PHASE_OPTIMIZE_FINISHED,
    44   PHASE_GLOBAL_CODE_MOTION,
    45   PHASE_FINAL_CODE,
    46   PHASE_AFTER_EA,
    47   PHASE_BEFORE_CLOOPS,
    48   PHASE_AFTER_CLOOPS,
    49   PHASE_BEFORE_BEAUTIFY_LOOPS,
    50   PHASE_AFTER_BEAUTIFY_LOOPS,
    51   PHASE_BEFORE_MATCHING,
    52   PHASE_INCREMENTAL_INLINE,
    53   PHASE_INCREMENTAL_BOXING_INLINE,
    54   PHASE_END,
    55   PHASE_FAILURE,
    57   PHASE_NUM_TYPES
    58 };
    60 class CompilerPhaseTypeHelper {
    61   public:
    62   static const char* to_string(CompilerPhaseType cpt) {
    63     switch (cpt) {
    64       case PHASE_BEFORE_STRINGOPTS:          return "Before StringOpts";
    65       case PHASE_AFTER_STRINGOPTS:           return "After StringOpts";
    66       case PHASE_BEFORE_REMOVEUSELESS:       return "Before RemoveUseless";
    67       case PHASE_AFTER_PARSING:              return "After Parsing";
    68       case PHASE_ITER_GVN1:                  return "Iter GVN 1";
    69       case PHASE_PHASEIDEAL_BEFORE_EA:       return "PhaseIdealLoop before EA";
    70       case PHASE_ITER_GVN_AFTER_EA:          return "Iter GVN after EA";
    71       case PHASE_ITER_GVN_AFTER_ELIMINATION: return "Iter GVN after eliminating allocations and locks";
    72       case PHASE_PHASEIDEALLOOP1:            return "PhaseIdealLoop 1";
    73       case PHASE_PHASEIDEALLOOP2:            return "PhaseIdealLoop 2";
    74       case PHASE_PHASEIDEALLOOP3:            return "PhaseIdealLoop 3";
    75       case PHASE_CPP1:                       return "PhaseCPP 1";
    76       case PHASE_ITER_GVN2:                  return "Iter GVN 2";
    77       case PHASE_PHASEIDEALLOOP_ITERATIONS:  return "PhaseIdealLoop iterations";
    78       case PHASE_OPTIMIZE_FINISHED:          return "Optimize finished";
    79       case PHASE_GLOBAL_CODE_MOTION:         return "Global code motion";
    80       case PHASE_FINAL_CODE:                 return "Final Code";
    81       case PHASE_AFTER_EA:                   return "After Escape Analysis";
    82       case PHASE_BEFORE_CLOOPS:              return "Before CountedLoop";
    83       case PHASE_AFTER_CLOOPS:               return "After CountedLoop";
    84       case PHASE_BEFORE_BEAUTIFY_LOOPS:      return "Before beautify loops";
    85       case PHASE_AFTER_BEAUTIFY_LOOPS:       return "After beautify loops";
    86       case PHASE_BEFORE_MATCHING:            return "Before Matching";
    87       case PHASE_INCREMENTAL_INLINE:         return "Incremental Inline";
    88       case PHASE_INCREMENTAL_BOXING_INLINE:  return "Incremental Boxing Inline";
    89       case PHASE_END:                        return "End";
    90       case PHASE_FAILURE:                    return "Failure";
    91       default:
    92         ShouldNotReachHere();
    93         return NULL;
    94     }
    95   }
    96 };
    98 #endif //SHARE_VM_OPTO_PHASETYPE_HPP

mercurial