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