747 range(0, max_intx) \
748 \
749 develop(bool, StressArrayCopyMacroNode, false, \
750 "Perform ArrayCopy load/store replacement during IGVN only") \
751 \
752 develop(bool, RenumberLiveNodes, true, \
753 "Renumber live nodes") \
754 \
755 product(uintx, LoopStripMiningIter, 0, \
756 "Number of iterations in strip mined loop") \
757 range(0, max_juint) \
758 constraint(LoopStripMiningIterConstraintFunc, AfterErgo) \
759 \
760 product(uintx, LoopStripMiningIterShortLoop, 0, \
761 "Loop with fewer iterations are not strip mined") \
762 range(0, max_juint) \
763 \
764 product(bool, UseProfiledLoopPredicate, true, \
765 "Move predicates out of loops based on profiling data") \
766 \
767 develop(uintx, StressLongCountedLoop, 0, \
768 "if > 0, convert int counted loops to long counted loops" \
769 "to stress handling of long counted loops: run inner loop" \
770 "for at most jint_max / StressLongCountedLoop") \
771 range(0, max_juint) \
772 \
773 product(bool, DuplicateBackedge, true, DIAGNOSTIC, \
774 "Transform loop with a merge point into 2 loops if inner loop is" \
775 "expected to optimize better") \
776 \
777 develop(bool, StressDuplicateBackedge, false, \
778 "Run DuplicateBackedge whenever possible ignoring benefit" \
779 "analysis") \
780 \
781 product(bool, VerifyReceiverTypes, trueInDebug, DIAGNOSTIC, \
782 "Verify receiver types at runtime") \
783 \
784 product(intx, TypeProfileSubTypeCheckCommonThreshold, 50, \
785 "Use profile data at type check if profiled types account for" \
786 "more than this threshold") \
|
747 range(0, max_intx) \
748 \
749 develop(bool, StressArrayCopyMacroNode, false, \
750 "Perform ArrayCopy load/store replacement during IGVN only") \
751 \
752 develop(bool, RenumberLiveNodes, true, \
753 "Renumber live nodes") \
754 \
755 product(uintx, LoopStripMiningIter, 0, \
756 "Number of iterations in strip mined loop") \
757 range(0, max_juint) \
758 constraint(LoopStripMiningIterConstraintFunc, AfterErgo) \
759 \
760 product(uintx, LoopStripMiningIterShortLoop, 0, \
761 "Loop with fewer iterations are not strip mined") \
762 range(0, max_juint) \
763 \
764 product(bool, UseProfiledLoopPredicate, true, \
765 "Move predicates out of loops based on profiling data") \
766 \
767 product(bool, UseArrayLoadStoreProfile, true, \
768 "Take advantage of profiling at array load/store") \
769 \
770 product(bool, UseACmpProfile, true, \
771 "Take advantage of profiling at acmp") \
772 \
773 develop(uintx, StressLongCountedLoop, 0, \
774 "if > 0, convert int counted loops to long counted loops" \
775 "to stress handling of long counted loops: run inner loop" \
776 "for at most jint_max / StressLongCountedLoop") \
777 range(0, max_juint) \
778 \
779 product(bool, DuplicateBackedge, true, DIAGNOSTIC, \
780 "Transform loop with a merge point into 2 loops if inner loop is" \
781 "expected to optimize better") \
782 \
783 develop(bool, StressDuplicateBackedge, false, \
784 "Run DuplicateBackedge whenever possible ignoring benefit" \
785 "analysis") \
786 \
787 product(bool, VerifyReceiverTypes, trueInDebug, DIAGNOSTIC, \
788 "Verify receiver types at runtime") \
789 \
790 product(intx, TypeProfileSubTypeCheckCommonThreshold, 50, \
791 "Use profile data at type check if profiled types account for" \
792 "more than this threshold") \
|