comparison src/cpu/ppc/vm/globals_ppc.hpp @ 5994:41b780b43b74

8029015: PPC64 (part 216): opto: trap based null and range checks Summary: On PPC64 use tdi instruction that does a compare and raises SIGTRAP for NULL and range checks. Reviewed-by: kvn
author goetz
date Wed, 27 Nov 2013 16:16:21 -0800
parents b0133e4187d3
children 67fa91961822
comparison
equal deleted inserted replaced
3:050779a740e8 4:3d31f99f8ad8
36 define_pd_global(bool, ShareVtableStubs, false); // Improves performance markedly for mtrt and compress. 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. 37 define_pd_global(bool, NeedsDeoptSuspend, false); // Only register window machines need this.
38 38
39 39
40 define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks. 40 define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks.
41 define_pd_global(bool, TrapBasedNullChecks, true);
41 define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs passed to check cast. 42 define_pd_global(bool, UncommonNullCast, true); // Uncommon-trap NULLs passed to check cast.
42 43
43 // Use large code-entry alignment. 44 // Use large code-entry alignment.
44 define_pd_global(intx, CodeEntryAlignment, 128); 45 define_pd_global(intx, CodeEntryAlignment, 128);
45 define_pd_global(intx, OptoLoopAlignment, 16); 46 define_pd_global(intx, OptoLoopAlignment, 16);
98 product(bool, TrapBasedICMissChecks, true, \ 99 product(bool, TrapBasedICMissChecks, true, \
99 "Raise and handle SIGTRAP if inline cache miss detected.") \ 100 "Raise and handle SIGTRAP if inline cache miss detected.") \
100 product(bool, TrapBasedNotEntrantChecks, true, \ 101 product(bool, TrapBasedNotEntrantChecks, true, \
101 "Raise and handle SIGTRAP if calling not entrant or zombie" \ 102 "Raise and handle SIGTRAP if calling not entrant or zombie" \
102 " method.") \ 103 " 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" \ 104 product(bool, TraceTraps, false, "Trace all traps the signal handler" \
110 "handles.") \ 105 "handles.") \
111 \ 106 \
112 product(bool, ZapMemory, false, "Write 0x0101... to empty memory." \ 107 product(bool, ZapMemory, false, "Write 0x0101... to empty memory." \
113 " Use this to ease debugging.") \ 108 " Use this to ease debugging.") \