src/share/vm/c1/c1_globals.hpp

Print this page
rev 4136 : 7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by:


 102           "Turn on C1 optimizations")                                       \
 103                                                                             \
 104   develop(bool, SelectivePhiFunctions, true,                                \
 105           "create phi functions at loop headers only when necessary")       \
 106                                                                             \
 107   develop(bool, OptimizeIfOps, true,                                        \
 108           "Optimize multiple IfOps")                                        \
 109                                                                             \
 110   develop(bool, DoCEE, true,                                                \
 111           "Do Conditional Expression Elimination to simplify CFG")          \
 112                                                                             \
 113   develop(bool, PrintCEE, false,                                            \
 114           "Print Conditional Expression Elimination")                       \
 115                                                                             \
 116   develop(bool, UseLocalValueNumbering, true,                               \
 117           "Use Local Value Numbering (embedded in GraphBuilder)")           \
 118                                                                             \
 119   develop(bool, UseGlobalValueNumbering, true,                              \
 120           "Use Global Value Numbering (separate phase)")                    \
 121                                                                             \


















 122   develop(bool, PrintValueNumbering, false,                                 \
 123           "Print Value Numbering")                                          \
 124                                                                             \
 125   product(intx, ValueMapInitialSize, 11,                                    \
 126           "Initial size of a value map")                                    \
 127                                                                             \
 128   product(intx, ValueMapMaxLoopSize, 8,                                     \
 129           "maximum size of a loop optimized by global value numbering")     \
 130                                                                             \
 131   develop(bool, EliminateBlocks, true,                                      \
 132           "Eliminate unneccessary basic blocks")                            \
 133                                                                             \
 134   develop(bool, PrintBlockElimination, false,                               \
 135           "Print basic block elimination")                                  \
 136                                                                             \
 137   develop(bool, EliminateNullChecks, true,                                  \
 138           "Eliminate unneccessary null checks")                             \
 139                                                                             \
 140   develop(bool, PrintNullCheckElimination, false,                           \
 141           "Print null check elimination")                                   \




 102           "Turn on C1 optimizations")                                       \
 103                                                                             \
 104   develop(bool, SelectivePhiFunctions, true,                                \
 105           "create phi functions at loop headers only when necessary")       \
 106                                                                             \
 107   develop(bool, OptimizeIfOps, true,                                        \
 108           "Optimize multiple IfOps")                                        \
 109                                                                             \
 110   develop(bool, DoCEE, true,                                                \
 111           "Do Conditional Expression Elimination to simplify CFG")          \
 112                                                                             \
 113   develop(bool, PrintCEE, false,                                            \
 114           "Print Conditional Expression Elimination")                       \
 115                                                                             \
 116   develop(bool, UseLocalValueNumbering, true,                               \
 117           "Use Local Value Numbering (embedded in GraphBuilder)")           \
 118                                                                             \
 119   develop(bool, UseGlobalValueNumbering, true,                              \
 120           "Use Global Value Numbering (separate phase)")                    \
 121                                                                             \
 122   product(bool, UseLoopInvariantCodeMotion, true,                           \
 123           "Simple loop invariant code motion for short loops during GVN")   \
 124                                                                             \
 125   develop(bool, TracePredicateFailedTraps, false,                           \
 126           "trace runtime traps caused by predicate failure")                \
 127                                                                             \
 128   develop(bool, StressLoopInvariantCodeMotion, false,                       \
 129           "stress loop invariant code motion")                              \
 130                                                                             \
 131   develop(bool, TraceRangeCheckElimination, false,                          \
 132           "Trace Range Check Elimination")                                  \
 133                                                                             \
 134   develop(bool, AssertRangeCheckElimination, false,                         \
 135           "Assert Range Check Elimination")                                 \
 136                                                                             \
 137   develop(bool, StressRangeCheckElimination, false,                         \
 138           "stress Range Check Elimination")                                 \
 139                                                                             \
 140   develop(bool, PrintValueNumbering, false,                                 \
 141           "Print Value Numbering")                                          \
 142                                                                             \
 143   product(intx, ValueMapInitialSize, 11,                                    \
 144           "Initial size of a value map")                                    \
 145                                                                             \
 146   product(intx, ValueMapMaxLoopSize, 8,                                     \
 147           "maximum size of a loop optimized by global value numbering")     \
 148                                                                             \
 149   develop(bool, EliminateBlocks, true,                                      \
 150           "Eliminate unneccessary basic blocks")                            \
 151                                                                             \
 152   develop(bool, PrintBlockElimination, false,                               \
 153           "Print basic block elimination")                                  \
 154                                                                             \
 155   develop(bool, EliminateNullChecks, true,                                  \
 156           "Eliminate unneccessary null checks")                             \
 157                                                                             \
 158   develop(bool, PrintNullCheckElimination, false,                           \
 159           "Print null check elimination")                                   \