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