src/share/vm/opto/phase.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8129847-9 Sdiff src/share/vm/opto

src/share/vm/opto/phase.hpp

Print this page




  28 #include "runtime/timer.hpp"
  29 
  30 class IfNode;
  31 class MergeMemNode;
  32 class Node;
  33 class PhaseGVN;
  34 
  35 //------------------------------Phase------------------------------------------
  36 // Most optimizations are done in Phases.  Creating a phase does any long
  37 // running analysis required, and caches the analysis in internal data
  38 // structures.  Later the analysis is queried using transform() calls to
  39 // guide transforming the program.  When the Phase is deleted, so is any
  40 // cached analysis info.  This basic Phase class mostly contains timing and
  41 // memory management code.
  42 class Phase : public StackObj {
  43 public:
  44   enum PhaseNumber {
  45     Compiler,                   // Top-level compiler phase
  46     Parser,                     // Parse bytecodes
  47     Remove_Useless,             // Remove useless nodes

  48     Optimistic,                 // Optimistic analysis phase
  49     GVN,                        // Pessimistic global value numbering phase
  50     Ins_Select,                 // Instruction selection phase
  51     CFG,                        // Build a CFG
  52     BlockLayout,                // Linear ordering of blocks
  53     Register_Allocation,        // Register allocation, duh
  54     LIVE,                       // Dragon-book LIVE range problem
  55     StringOpts,                 // StringBuilder related optimizations
  56     Interference_Graph,         // Building the IFG
  57     Coalesce,                   // Coalescing copies
  58     Ideal_Loop,                 // Find idealized trip-counted loops
  59     Macro_Expand,               // Expand macro nodes
  60     Peephole,                   // Apply peephole optimizations
  61     last_phase
  62   };
  63 
  64   enum PhaseTraceId {
  65     _t_parser,
  66     _t_optimizer,
  67       _t_escapeAnalysis,




  28 #include "runtime/timer.hpp"
  29 
  30 class IfNode;
  31 class MergeMemNode;
  32 class Node;
  33 class PhaseGVN;
  34 
  35 //------------------------------Phase------------------------------------------
  36 // Most optimizations are done in Phases.  Creating a phase does any long
  37 // running analysis required, and caches the analysis in internal data
  38 // structures.  Later the analysis is queried using transform() calls to
  39 // guide transforming the program.  When the Phase is deleted, so is any
  40 // cached analysis info.  This basic Phase class mostly contains timing and
  41 // memory management code.
  42 class Phase : public StackObj {
  43 public:
  44   enum PhaseNumber {
  45     Compiler,                   // Top-level compiler phase
  46     Parser,                     // Parse bytecodes
  47     Remove_Useless,             // Remove useless nodes
  48     Renumber_Live,              // First, remove useless nodes from the graph. Then, renumber live nodes.
  49     Optimistic,                 // Optimistic analysis phase
  50     GVN,                        // Pessimistic global value numbering phase
  51     Ins_Select,                 // Instruction selection phase
  52     CFG,                        // Build a CFG
  53     BlockLayout,                // Linear ordering of blocks
  54     Register_Allocation,        // Register allocation, duh
  55     LIVE,                       // Dragon-book LIVE range problem
  56     StringOpts,                 // StringBuilder related optimizations
  57     Interference_Graph,         // Building the IFG
  58     Coalesce,                   // Coalescing copies
  59     Ideal_Loop,                 // Find idealized trip-counted loops
  60     Macro_Expand,               // Expand macro nodes
  61     Peephole,                   // Apply peephole optimizations
  62     last_phase
  63   };
  64 
  65   enum PhaseTraceId {
  66     _t_parser,
  67     _t_optimizer,
  68       _t_escapeAnalysis,


src/share/vm/opto/phase.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File