Mercurial > hg > graal-jvmci-8
comparison src/share/vm/opto/phase.hpp @ 23660:b5f3a471e646
Merge.
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 01 Jun 2016 00:11:44 +0200 |
parents | dd9cc155639c 70649f10b88c |
children |
comparison
equal
deleted
inserted
replaced
23411:d7cf78885a3a | 23660:b5f3a471e646 |
---|---|
38 // cached analysis info. This basic Phase class mostly contains timing and | 38 // cached analysis info. This basic Phase class mostly contains timing and |
39 // memory management code. | 39 // memory management code. |
40 class Phase : public StackObj { | 40 class Phase : public StackObj { |
41 public: | 41 public: |
42 enum PhaseNumber { | 42 enum PhaseNumber { |
43 Compiler, // Top-level compiler phase | 43 Compiler, // Top-level compiler phase |
44 Parser, // Parse bytecodes | 44 Parser, // Parse bytecodes |
45 Remove_Useless, // Remove useless nodes | 45 Remove_Useless, // Remove useless nodes |
46 Optimistic, // Optimistic analysis phase | 46 Remove_Useless_And_Renumber_Live, // First, remove useless nodes from the graph. Then, renumber live nodes. |
47 GVN, // Pessimistic global value numbering phase | 47 Optimistic, // Optimistic analysis phase |
48 Ins_Select, // Instruction selection phase | 48 GVN, // Pessimistic global value numbering phase |
49 CFG, // Build a CFG | 49 Ins_Select, // Instruction selection phase |
50 BlockLayout, // Linear ordering of blocks | 50 CFG, // Build a CFG |
51 Register_Allocation, // Register allocation, duh | 51 BlockLayout, // Linear ordering of blocks |
52 LIVE, // Dragon-book LIVE range problem | 52 Register_Allocation, // Register allocation, duh |
53 StringOpts, // StringBuilder related optimizations | 53 LIVE, // Dragon-book LIVE range problem |
54 Interference_Graph, // Building the IFG | 54 StringOpts, // StringBuilder related optimizations |
55 Coalesce, // Coalescing copies | 55 Interference_Graph, // Building the IFG |
56 Ideal_Loop, // Find idealized trip-counted loops | 56 Coalesce, // Coalescing copies |
57 Macro_Expand, // Expand macro nodes | 57 Ideal_Loop, // Find idealized trip-counted loops |
58 Peephole, // Apply peephole optimizations | 58 Macro_Expand, // Expand macro nodes |
59 Peephole, // Apply peephole optimizations | |
59 last_phase | 60 last_phase |
60 }; | 61 }; |
61 protected: | 62 protected: |
62 enum PhaseNumber _pnum; // Phase number (for stat gathering) | 63 enum PhaseNumber _pnum; // Phase number (for stat gathering) |
63 | 64 |
100 | 101 |
101 // Subtimers for _t_optimizer | 102 // Subtimers for _t_optimizer |
102 static elapsedTimer _t_iterGVN; | 103 static elapsedTimer _t_iterGVN; |
103 static elapsedTimer _t_iterGVN2; | 104 static elapsedTimer _t_iterGVN2; |
104 static elapsedTimer _t_incrInline; | 105 static elapsedTimer _t_incrInline; |
106 static elapsedTimer _t_renumberLive; | |
105 | 107 |
106 // Subtimers for _t_registerAllocation | 108 // Subtimers for _t_registerAllocation |
107 static elapsedTimer _t_ctorChaitin; | 109 static elapsedTimer _t_ctorChaitin; |
108 static elapsedTimer _t_buildIFGphysical; | 110 static elapsedTimer _t_buildIFGphysical; |
109 static elapsedTimer _t_computeLive; | 111 static elapsedTimer _t_computeLive; |