830 develop(bool, StressArrayCopyMacroNode, false, \
831 "Perform ArrayCopy load/store replacement during IGVN only") \
832 \
833 develop(bool, RenumberLiveNodes, true, \
834 "Renumber live nodes") \
835 \
836 product(uintx, LoopStripMiningIter, 0, \
837 "Number of iterations in strip mined loop") \
838 range(0, max_juint) \
839 constraint(LoopStripMiningIterConstraintFunc, AfterErgo) \
840 \
841 product(uintx, LoopStripMiningIterShortLoop, 0, \
842 "Loop with fewer iterations are not strip mined") \
843 range(0, max_juint) \
844 \
845 product(bool, UseProfiledLoopPredicate, true, \
846 "Move checks with an uncommon trap out of loops based on " \
847 "profiling data. " \
848 "Requires UseLoopPredicate to be turned on (default).") \
849 \
850 develop(uintx, StressLongCountedLoop, 0, \
851 "if > 0, convert int counted loops to long counted loops" \
852 "to stress handling of long counted loops: run inner loop" \
853 "for at most jint_max / StressLongCountedLoop") \
854 range(0, max_juint) \
855 \
856 product(bool, DuplicateBackedge, true, DIAGNOSTIC, \
857 "Transform loop with a merge point into 2 loops if inner loop is" \
858 "expected to optimize better") \
859 \
860 develop(bool, StressDuplicateBackedge, false, \
861 "Run DuplicateBackedge whenever possible ignoring benefit" \
862 "analysis") \
863 \
864 product(bool, VerifyReceiverTypes, trueInDebug, DIAGNOSTIC, \
865 "Verify receiver types at runtime") \
866 \
867 product(intx, TypeProfileSubTypeCheckCommonThreshold, 50, \
868 "Use profile data at type check if profiled types account for" \
869 "more than this threshold") \
|
830 develop(bool, StressArrayCopyMacroNode, false, \
831 "Perform ArrayCopy load/store replacement during IGVN only") \
832 \
833 develop(bool, RenumberLiveNodes, true, \
834 "Renumber live nodes") \
835 \
836 product(uintx, LoopStripMiningIter, 0, \
837 "Number of iterations in strip mined loop") \
838 range(0, max_juint) \
839 constraint(LoopStripMiningIterConstraintFunc, AfterErgo) \
840 \
841 product(uintx, LoopStripMiningIterShortLoop, 0, \
842 "Loop with fewer iterations are not strip mined") \
843 range(0, max_juint) \
844 \
845 product(bool, UseProfiledLoopPredicate, true, \
846 "Move checks with an uncommon trap out of loops based on " \
847 "profiling data. " \
848 "Requires UseLoopPredicate to be turned on (default).") \
849 \
850 product(bool, UseArrayLoadStoreProfile, true, \
851 "Take advantage of profiling at array load/store") \
852 \
853 product(bool, UseACmpProfile, true, \
854 "Take advantage of profiling at acmp") \
855 \
856 develop(uintx, StressLongCountedLoop, 0, \
857 "if > 0, convert int counted loops to long counted loops" \
858 "to stress handling of long counted loops: run inner loop" \
859 "for at most jint_max / StressLongCountedLoop") \
860 range(0, max_juint) \
861 \
862 product(bool, DuplicateBackedge, true, DIAGNOSTIC, \
863 "Transform loop with a merge point into 2 loops if inner loop is" \
864 "expected to optimize better") \
865 \
866 develop(bool, StressDuplicateBackedge, false, \
867 "Run DuplicateBackedge whenever possible ignoring benefit" \
868 "analysis") \
869 \
870 product(bool, VerifyReceiverTypes, trueInDebug, DIAGNOSTIC, \
871 "Verify receiver types at runtime") \
872 \
873 product(intx, TypeProfileSubTypeCheckCommonThreshold, 50, \
874 "Use profile data at type check if profiled types account for" \
875 "more than this threshold") \
|