741 range(0, max_intx) \
742 \
743 develop(bool, StressArrayCopyMacroNode, false, \
744 "Perform ArrayCopy load/store replacement during IGVN only") \
745 \
746 develop(bool, RenumberLiveNodes, true, \
747 "Renumber live nodes") \
748 \
749 product(uintx, LoopStripMiningIter, 0, \
750 "Number of iterations in strip mined loop") \
751 range(0, max_juint) \
752 constraint(LoopStripMiningIterConstraintFunc, AfterErgo) \
753 \
754 product(uintx, LoopStripMiningIterShortLoop, 0, \
755 "Loop with fewer iterations are not strip mined") \
756 range(0, max_juint) \
757 \
758 product(bool, UseProfiledLoopPredicate, true, \
759 "Move predicates out of loops based on profiling data") \
760 \
761 product(bool, ExpandSubTypeCheckAtParseTime, false, DIAGNOSTIC, \
762 "Do not use subtype check macro node") \
763 \
764 develop(uintx, StressLongCountedLoop, 0, \
765 "if > 0, convert int counted loops to long counted loops" \
766 "to stress handling of long counted loops: run inner loop" \
767 "for at most jint_max / StressLongCountedLoop") \
768 range(0, max_juint) \
769 \
770 product(bool, DuplicateBackedge, true, DIAGNOSTIC, \
771 "Transform loop with a merge point into 2 loops if inner loop is" \
772 "expected to optimize better") \
773 \
774 develop(bool, StressDuplicateBackedge, false, \
775 "Run DuplicateBackedge whenever possible ignoring benefit" \
776 "analysis") \
777 \
778 product(bool, VerifyReceiverTypes, trueInDebug, DIAGNOSTIC, \
779 "Verify receiver types at runtime") \
780 \
|
741 range(0, max_intx) \
742 \
743 develop(bool, StressArrayCopyMacroNode, false, \
744 "Perform ArrayCopy load/store replacement during IGVN only") \
745 \
746 develop(bool, RenumberLiveNodes, true, \
747 "Renumber live nodes") \
748 \
749 product(uintx, LoopStripMiningIter, 0, \
750 "Number of iterations in strip mined loop") \
751 range(0, max_juint) \
752 constraint(LoopStripMiningIterConstraintFunc, AfterErgo) \
753 \
754 product(uintx, LoopStripMiningIterShortLoop, 0, \
755 "Loop with fewer iterations are not strip mined") \
756 range(0, max_juint) \
757 \
758 product(bool, UseProfiledLoopPredicate, true, \
759 "Move predicates out of loops based on profiling data") \
760 \
761 product(bool, UseArrayLoadStoreProfile, true, \
762 "Take advantage of profiling at array load/store") \
763 \
764 product(bool, UseACmpProfile, true, \
765 "Take advantage of profiling at acmp") \
766 \
767 product(bool, ExpandSubTypeCheckAtParseTime, false, DIAGNOSTIC, \
768 "Do not use subtype check macro node") \
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 \
|