861 "analysis") \
862 \
863 product(bool, VerifyReceiverTypes, trueInDebug, DIAGNOSTIC, \
864 "Verify receiver types at runtime") \
865 \
866 product(intx, TypeProfileSubTypeCheckCommonThreshold, 50, \
867 "Use profile data at type check if profiled types account for" \
868 "more than this threshold") \
869 range(0, 100) \
870 \
871 develop(bool, StressPrunedExceptionHandlers, false, \
872 "Always prune exception handlers") \
873 \
874 product(bool, InlineSecondarySupersTest, true, DIAGNOSTIC, \
875 "Inline the secondary supers hash lookup.") \
876 \
877 product(bool, UseStoreStoreForCtor, true, DIAGNOSTIC, \
878 "Use StoreStore barrier instead of Release barrier at the end " \
879 "of constructors") \
880 \
881 develop(bool, KillPathsReachableByDeadTypeNode, true, \
882 "When a Type node becomes top, make paths where the node is " \
883 "used dead by replacing them with a Halt node. Turning this off " \
884 "could corrupt the graph in rare cases and should be used with " \
885 "care.") \
886 \
887 product(bool, ShortRunningLongLoop, true, DIAGNOSTIC, \
888 "long counted loop/long range checks: don't create loop nest if " \
889 "loop runs for small enough number of iterations. Long loop is " \
890 "converted to a single int loop.") \
891 \
892 develop(bool, StressShortRunningLongLoop, false, \
893 "Speculate all long counted loops are short running when bounds " \
894 "are unknown even if profile data doesn't say so.") \
895 \
896 develop(bool, StressLoopPeeling, false, \
897 "Randomize loop peeling decision") \
898
899 // end of C2_FLAGS
900
|
861 "analysis") \
862 \
863 product(bool, VerifyReceiverTypes, trueInDebug, DIAGNOSTIC, \
864 "Verify receiver types at runtime") \
865 \
866 product(intx, TypeProfileSubTypeCheckCommonThreshold, 50, \
867 "Use profile data at type check if profiled types account for" \
868 "more than this threshold") \
869 range(0, 100) \
870 \
871 develop(bool, StressPrunedExceptionHandlers, false, \
872 "Always prune exception handlers") \
873 \
874 product(bool, InlineSecondarySupersTest, true, DIAGNOSTIC, \
875 "Inline the secondary supers hash lookup.") \
876 \
877 product(bool, UseStoreStoreForCtor, true, DIAGNOSTIC, \
878 "Use StoreStore barrier instead of Release barrier at the end " \
879 "of constructors") \
880 \
881 product(bool, PreloadReduceTraps, true, DIAGNOSTIC, \
882 "Preload code should avoid traps as much as possible.") \
883 \
884 develop(bool, KillPathsReachableByDeadTypeNode, true, \
885 "When a Type node becomes top, make paths where the node is " \
886 "used dead by replacing them with a Halt node. Turning this off " \
887 "could corrupt the graph in rare cases and should be used with " \
888 "care.") \
889 \
890 product(bool, ShortRunningLongLoop, true, DIAGNOSTIC, \
891 "long counted loop/long range checks: don't create loop nest if " \
892 "loop runs for small enough number of iterations. Long loop is " \
893 "converted to a single int loop.") \
894 \
895 develop(bool, StressShortRunningLongLoop, false, \
896 "Speculate all long counted loops are short running when bounds " \
897 "are unknown even if profile data doesn't say so.") \
898 \
899 develop(bool, StressLoopPeeling, false, \
900 "Randomize loop peeling decision") \
901
902 // end of C2_FLAGS
903
|