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