654 "do all inlining incrementally") \
655 \
656 product(intx, LiveNodeCountInliningCutoff, 40000, \
657 "max number of live nodes in a method") \
658 \
659 diagnostic(bool, OptimizeExpensiveOps, true, \
660 "Find best control for expensive operations") \
661 \
662 product(bool, UseMathExactIntrinsics, true, \
663 "Enables intrinsification of various java.lang.Math functions") \
664 \
665 product(bool, UseMultiplyToLenIntrinsic, false, \
666 "Enables intrinsification of BigInteger.multiplyToLen()") \
667 \
668 product(bool, UseSquareToLenIntrinsic, false, \
669 "Enables intrinsification of BigInteger.squareToLen()") \
670 \
671 product(bool, UseMulAddIntrinsic, false, \
672 "Enables intrinsification of BigInteger.mulAdd()") \
673 \
674 product(bool, UseTypeSpeculation, true, \
675 "Speculatively propagate types from profiles") \
676 \
677 diagnostic(bool, UseInlineDepthForSpeculativeTypes, true, \
678 "Carry inline depth of profile point with speculative type " \
679 "and give priority to profiling from lower inline depth") \
680 \
681 product_pd(bool, TrapBasedRangeChecks, \
682 "Generate code for range checks that uses a cmp and trap " \
683 "instruction raising SIGTRAP. Used on PPC64.") \
684 \
685 product(intx, ArrayCopyLoadStoreMaxElem, 8, \
686 "Maximum number of arraycopy elements inlined as a sequence of" \
687 "loads/stores") \
688 \
689 develop(bool, StressArrayCopyMacroNode, false, \
690 "Perform ArrayCopy load/store replacement during IGVN only")
691
692 C2_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG)
693
|
654 "do all inlining incrementally") \
655 \
656 product(intx, LiveNodeCountInliningCutoff, 40000, \
657 "max number of live nodes in a method") \
658 \
659 diagnostic(bool, OptimizeExpensiveOps, true, \
660 "Find best control for expensive operations") \
661 \
662 product(bool, UseMathExactIntrinsics, true, \
663 "Enables intrinsification of various java.lang.Math functions") \
664 \
665 product(bool, UseMultiplyToLenIntrinsic, false, \
666 "Enables intrinsification of BigInteger.multiplyToLen()") \
667 \
668 product(bool, UseSquareToLenIntrinsic, false, \
669 "Enables intrinsification of BigInteger.squareToLen()") \
670 \
671 product(bool, UseMulAddIntrinsic, false, \
672 "Enables intrinsification of BigInteger.mulAdd()") \
673 \
674 product(bool, UseMontgomeryMultiplyIntrinsic, false, \
675 "Enables intrinsification of BigInteger.montgomeryMultiply()") \
676 \
677 product(bool, UseMontgomerySquareIntrinsic, false, \
678 "Enables intrinsification of BigInteger.montgomerySquare()") \
679 \
680 product(bool, UseTypeSpeculation, true, \
681 "Speculatively propagate types from profiles") \
682 \
683 diagnostic(bool, UseInlineDepthForSpeculativeTypes, true, \
684 "Carry inline depth of profile point with speculative type " \
685 "and give priority to profiling from lower inline depth") \
686 \
687 product_pd(bool, TrapBasedRangeChecks, \
688 "Generate code for range checks that uses a cmp and trap " \
689 "instruction raising SIGTRAP. Used on PPC64.") \
690 \
691 product(intx, ArrayCopyLoadStoreMaxElem, 8, \
692 "Maximum number of arraycopy elements inlined as a sequence of" \
693 "loads/stores") \
694 \
695 develop(bool, StressArrayCopyMacroNode, false, \
696 "Perform ArrayCopy load/store replacement during IGVN only")
697
698 C2_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG)
699
|