21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 #ifndef CPU_PPC_VM_GLOBALS_PPC_HPP
27 #define CPU_PPC_VM_GLOBALS_PPC_HPP
28
29 #include "utilities/globalDefinitions.hpp"
30 #include "utilities/macros.hpp"
31
32 // Sets the default values for platform dependent flags used by the runtime system.
33 // (see globals.hpp)
34
35 define_pd_global(bool, ConvertSleepToYield, true);
36 define_pd_global(bool, ShareVtableStubs, false); // Improves performance markedly for mtrt and compress.
37 define_pd_global(bool, NeedsDeoptSuspend, false); // Only register window machines need this.
38
39
40 define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks.
41 define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs passed to check cast.
42
43 // Use large code-entry alignment.
44 define_pd_global(intx, CodeEntryAlignment, 128);
45 define_pd_global(intx, OptoLoopAlignment, 16);
46 define_pd_global(intx, InlineFrequencyCount, 100);
47 define_pd_global(intx, InlineSmallCode, 1500);
48
49 define_pd_global(intx, PreInflateSpin, 10);
50
51 // Flags for template interpreter.
52 define_pd_global(bool, RewriteBytecodes, true);
53 define_pd_global(bool, RewriteFrequentPairs, true);
54
55 define_pd_global(bool, UseMembar, false);
56
57 // GC Ergo Flags
58 define_pd_global(uintx, CMSYoungGenPerWorker, 16*M); // Default max size of CMS young gen, per GC worker thread.
59
60 define_pd_global(uintx, TypeProfileLevel, 0);
83 "Use extended versions of load-and-reserve instructions.") \
84 \
85 product(bool, UseRotateAndMaskInstructionsPPC64, true, \
86 "Use rotate and mask instructions.") \
87 \
88 product(bool, UseStaticBranchPredictionInCompareAndSwapPPC64, true, \
89 "Use static branch prediction hints in CAS operations.") \
90 \
91 /* Trap based checks. */ \
92 /* Trap based checks use the ppc trap instructions to check certain */ \
93 /* conditions. This instruction raises a SIGTRAP caught by the */ \
94 /* exception handler of the VM. */ \
95 product(bool, UseSIGTRAP, true, \
96 "Allow trap instructions that make use of SIGTRAP. Use this to " \
97 "switch off all optimizations requiring SIGTRAP.") \
98 product(bool, TrapBasedICMissChecks, true, \
99 "Raise and handle SIGTRAP if inline cache miss detected.") \
100 product(bool, TrapBasedNotEntrantChecks, true, \
101 "Raise and handle SIGTRAP if calling not entrant or zombie" \
102 " method.") \
103 product(bool, TrapBasedNullChecks, true, \
104 "Generate code for null checks that uses a cmp and trap " \
105 "instruction raising SIGTRAP. This is only used if an access to" \
106 "null (+offset) will not raise a SIGSEGV.") \
107 product(bool, TrapBasedRangeChecks, true, \
108 "Raise and handle SIGTRAP if array out of bounds check fails.") \
109 product(bool, TraceTraps, false, "Trace all traps the signal handler" \
110 "handles.") \
111 \
112 product(bool, ZapMemory, false, "Write 0x0101... to empty memory." \
113 " Use this to ease debugging.") \
114
115
116
117 #endif // CPU_PPC_VM_GLOBALS_PPC_HPP
|
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 #ifndef CPU_PPC_VM_GLOBALS_PPC_HPP
27 #define CPU_PPC_VM_GLOBALS_PPC_HPP
28
29 #include "utilities/globalDefinitions.hpp"
30 #include "utilities/macros.hpp"
31
32 // Sets the default values for platform dependent flags used by the runtime system.
33 // (see globals.hpp)
34
35 define_pd_global(bool, ConvertSleepToYield, true);
36 define_pd_global(bool, ShareVtableStubs, false); // Improves performance markedly for mtrt and compress.
37 define_pd_global(bool, NeedsDeoptSuspend, false); // Only register window machines need this.
38
39
40 define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks.
41 define_pd_global(bool, TrapBasedNullChecks, true);
42 define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs passed to check cast.
43
44 // Use large code-entry alignment.
45 define_pd_global(intx, CodeEntryAlignment, 128);
46 define_pd_global(intx, OptoLoopAlignment, 16);
47 define_pd_global(intx, InlineFrequencyCount, 100);
48 define_pd_global(intx, InlineSmallCode, 1500);
49
50 define_pd_global(intx, PreInflateSpin, 10);
51
52 // Flags for template interpreter.
53 define_pd_global(bool, RewriteBytecodes, true);
54 define_pd_global(bool, RewriteFrequentPairs, true);
55
56 define_pd_global(bool, UseMembar, false);
57
58 // GC Ergo Flags
59 define_pd_global(uintx, CMSYoungGenPerWorker, 16*M); // Default max size of CMS young gen, per GC worker thread.
60
61 define_pd_global(uintx, TypeProfileLevel, 0);
84 "Use extended versions of load-and-reserve instructions.") \
85 \
86 product(bool, UseRotateAndMaskInstructionsPPC64, true, \
87 "Use rotate and mask instructions.") \
88 \
89 product(bool, UseStaticBranchPredictionInCompareAndSwapPPC64, true, \
90 "Use static branch prediction hints in CAS operations.") \
91 \
92 /* Trap based checks. */ \
93 /* Trap based checks use the ppc trap instructions to check certain */ \
94 /* conditions. This instruction raises a SIGTRAP caught by the */ \
95 /* exception handler of the VM. */ \
96 product(bool, UseSIGTRAP, true, \
97 "Allow trap instructions that make use of SIGTRAP. Use this to " \
98 "switch off all optimizations requiring SIGTRAP.") \
99 product(bool, TrapBasedICMissChecks, true, \
100 "Raise and handle SIGTRAP if inline cache miss detected.") \
101 product(bool, TrapBasedNotEntrantChecks, true, \
102 "Raise and handle SIGTRAP if calling not entrant or zombie" \
103 " method.") \
104 product(bool, TraceTraps, false, "Trace all traps the signal handler" \
105 "handles.") \
106 \
107 product(bool, ZapMemory, false, "Write 0x0101... to empty memory." \
108 " Use this to ease debugging.") \
109
110
111
112 #endif // CPU_PPC_VM_GLOBALS_PPC_HPP
|