425 "Use JumpTables instead of a binary search tree for switches") \ |
425 "Use JumpTables instead of a binary search tree for switches") \ |
426 \ |
426 \ |
427 product(bool, UseDivMod, true, \ |
427 product(bool, UseDivMod, true, \ |
428 "Use combined DivMod instruction if available") \ |
428 "Use combined DivMod instruction if available") \ |
429 \ |
429 \ |
430 product(intx, MinJumpTableSize, 18, \ |
430 product_pd(intx, MinJumpTableSize, \ |
431 "Minimum number of targets in a generated jump table") \ |
431 "Minimum number of targets in a generated jump table") \ |
432 \ |
432 \ |
433 product(intx, MaxJumpTableSize, 65000, \ |
433 product(intx, MaxJumpTableSize, 65000, \ |
434 "Maximum number of targets in a generated jump table") \ |
434 "Maximum number of targets in a generated jump table") \ |
435 \ |
435 \ |
451 notproduct(bool, PrintEliminateLocks, false, \ |
451 notproduct(bool, PrintEliminateLocks, false, \ |
452 "Print out when locks are eliminated") \ |
452 "Print out when locks are eliminated") \ |
453 \ |
453 \ |
454 product(bool, EliminateAutoBox, true, \ |
454 product(bool, EliminateAutoBox, true, \ |
455 "Control optimizations for autobox elimination") \ |
455 "Control optimizations for autobox elimination") \ |
|
456 \ |
|
457 experimental(bool, UseImplicitStableValues, false, \ |
|
458 "Mark well-known stable fields as such (e.g. String.value)") \ |
456 \ |
459 \ |
457 product(intx, AutoBoxCacheMax, 128, \ |
460 product(intx, AutoBoxCacheMax, 128, \ |
458 "Sets max value cached by the java.lang.Integer autobox cache") \ |
461 "Sets max value cached by the java.lang.Integer autobox cache") \ |
459 \ |
462 \ |
460 experimental(bool, AggressiveUnboxing, false, \ |
463 experimental(bool, AggressiveUnboxing, false, \ |
637 product(intx, LiveNodeCountInliningCutoff, 20000, \ |
640 product(intx, LiveNodeCountInliningCutoff, 20000, \ |
638 "max number of live nodes in a method") \ |
641 "max number of live nodes in a method") \ |
639 \ |
642 \ |
640 diagnostic(bool, OptimizeExpensiveOps, true, \ |
643 diagnostic(bool, OptimizeExpensiveOps, true, \ |
641 "Find best control for expensive operations") \ |
644 "Find best control for expensive operations") \ |
642 |
645 \ |
|
646 product(bool, UseMathExactIntrinsics, true, \ |
|
647 "Enables intrinsification of various java.lang.Math functions") \ |
|
648 \ |
|
649 experimental(bool, ReplaceInParentMaps, false, \ |
|
650 "Propagate type improvements in callers of inlinee if possible") \ |
|
651 \ |
|
652 experimental(bool, UseTypeSpeculation, false, \ |
|
653 "Speculatively propagate types from profiles") |
643 |
654 |
644 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) |
655 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) |
645 |
656 |
646 #endif // SHARE_VM_OPTO_C2_GLOBALS_HPP |
657 #endif // SHARE_VM_OPTO_C2_GLOBALS_HPP |