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