1080 "Experimental: Tune loaded class cache starting size") \
1081 \
1082 diagnostic(bool, UnsyncloadClass, false, \
1083 "Unstable: VM calls loadClass unsynchronized. Custom " \
1084 "class loader must call VM synchronized for findClass " \
1085 "and defineClass.") \
1086 \
1087 product(bool, AlwaysLockClassLoader, false, \
1088 "Require the VM to acquire the class loader lock before calling " \
1089 "loadClass() even for class loaders registering " \
1090 "as parallel capable") \
1091 \
1092 product(bool, AllowParallelDefineClass, false, \
1093 "Allow parallel defineClass requests for class loaders " \
1094 "registering as parallel capable") \
1095 \
1096 product(bool, MustCallLoadClassInternal, false, \
1097 "Call loadClassInternal() rather than loadClass()") \
1098 \
1099 product_pd(bool, DontYieldALot, \
1100 "Throw away obvious excess yield calls (for Solaris only)") \
1101 \
1102 product_pd(bool, ConvertSleepToYield, \
1103 "Convert sleep(0) to thread yield " \
1104 "(may be off for Solaris to improve GUI)") \
1105 \
1106 product(bool, ConvertYieldToSleep, false, \
1107 "Convert yield to a sleep of MinSleepInterval to simulate Win32 " \
1108 "behavior (Solaris only)") \
1109 \
1110 product(bool, UseBoundThreads, true, \
1111 "Bind user level threads to kernel threads (for Solaris only)") \
1112 \
1113 develop(bool, UseDetachedThreads, true, \
1114 "Use detached threads that are recycled upon termination " \
1115 "(for Solaris only)") \
1116 \
1117 product(bool, UseLWPSynchronization, true, \
1118 "Use LWP-based instead of libthread-based synchronization " \
1119 "(SPARC only)") \
1120 \
1121 product(ccstr, SyncKnobs, NULL, \
1122 "(Unstable) Various monitor synchronization tunables") \
1123 \
1124 product(intx, EmitSync, 0, \
1125 "(Unsafe, Unstable) " \
1126 "Control emission of inline sync fast-path code") \
1127 \
1128 product(intx, MonitorBound, 0, "Bound Monitor population") \
1129 \
1130 product(bool, MonitorInUseLists, false, "Track Monitors for Deflation") \
1131 \
1132 product(intx, SyncFlags, 0, "(Unsafe, Unstable) Experimental Sync flags") \
1133 \
1134 product(intx, SyncVerbose, 0, "(Unstable)") \
1135 \
1136 product(intx, ClearFPUAtPark, 0, "(Unsafe, Unstable)") \
1137 \
1138 product(intx, hashCode, 5, \
1139 "(Unstable) select hashCode generation algorithm") \
1140 \
1141 product(intx, WorkAroundNPTLTimedWaitHang, 1, \
1142 "(Unstable, Linux-specific) " \
1143 "avoid NPTL-FUTEX hang pthread_cond_timedwait") \
1144 \
1145 product(bool, FilterSpuriousWakeups, true, \
1146 "Prevent spurious or premature wakeups from object.wait " \
1147 "(Solaris only)") \
1148 \
1149 product(intx, NativeMonitorTimeout, -1, "(Unstable)") \
1150 \
1151 product(intx, NativeMonitorFlags, 0, "(Unstable)") \
1152 \
1153 product(intx, NativeMonitorSpinLimit, 20, "(Unstable)") \
1154 \
1155 develop(bool, UsePthreads, false, \
1156 "Use pthread-based instead of libthread-based synchronization " \
1157 "(SPARC only)") \
1158 \
1159 product(bool, AdjustConcurrency, false, \
1160 "Call thr_setconcurrency at thread creation time to avoid " \
1161 "LWP starvation on MP systems (for Solaris Only)") \
1162 \
1163 product(bool, ReduceSignalUsage, false, \
1164 "Reduce the use of OS signals in Java and/or the VM") \
1165 \
1166 develop_pd(bool, ShareVtableStubs, \
1167 "Share vtable stubs (smaller code but worse branch prediction") \
3444 " used with care, as sometimes it can cause performance "\
3445 " degradation in the application and/or the entire system. On "\
3446 " Linux this policy requires root privilege.") \
3447 \
3448 product(bool, ThreadPriorityVerbose, false, \
3449 "Print priority changes") \
3450 \
3451 product(intx, DefaultThreadPriority, -1, \
3452 "The native priority at which threads run if not elsewhere " \
3453 "specified (-1 means no change)") \
3454 \
3455 product(intx, CompilerThreadPriority, -1, \
3456 "The native priority at which compiler threads should run " \
3457 "(-1 means no change)") \
3458 \
3459 product(intx, VMThreadPriority, -1, \
3460 "The native priority at which the VM thread should run " \
3461 "(-1 means no change)") \
3462 \
3463 product(bool, CompilerThreadHintNoPreempt, true, \
3464 "(Solaris only) Give compiler threads an extra quanta") \
3465 \
3466 product(bool, VMThreadHintNoPreempt, false, \
3467 "(Solaris only) Give VM thread an extra quanta") \
3468 \
3469 product(intx, JavaPriority1_To_OSPriority, -1, \
3470 "Map Java priorities to OS priorities") \
3471 \
3472 product(intx, JavaPriority2_To_OSPriority, -1, \
3473 "Map Java priorities to OS priorities") \
3474 \
3475 product(intx, JavaPriority3_To_OSPriority, -1, \
3476 "Map Java priorities to OS priorities") \
3477 \
3478 product(intx, JavaPriority4_To_OSPriority, -1, \
3479 "Map Java priorities to OS priorities") \
3480 \
3481 product(intx, JavaPriority5_To_OSPriority, -1, \
3482 "Map Java priorities to OS priorities") \
3483 \
3484 product(intx, JavaPriority6_To_OSPriority, -1, \
3485 "Map Java priorities to OS priorities") \
3486 \
3487 product(intx, JavaPriority7_To_OSPriority, -1, \
|
1080 "Experimental: Tune loaded class cache starting size") \
1081 \
1082 diagnostic(bool, UnsyncloadClass, false, \
1083 "Unstable: VM calls loadClass unsynchronized. Custom " \
1084 "class loader must call VM synchronized for findClass " \
1085 "and defineClass.") \
1086 \
1087 product(bool, AlwaysLockClassLoader, false, \
1088 "Require the VM to acquire the class loader lock before calling " \
1089 "loadClass() even for class loaders registering " \
1090 "as parallel capable") \
1091 \
1092 product(bool, AllowParallelDefineClass, false, \
1093 "Allow parallel defineClass requests for class loaders " \
1094 "registering as parallel capable") \
1095 \
1096 product(bool, MustCallLoadClassInternal, false, \
1097 "Call loadClassInternal() rather than loadClass()") \
1098 \
1099 product_pd(bool, DontYieldALot, \
1100 "Throw away obvious excess yield calls") \
1101 \
1102 product_pd(bool, ConvertSleepToYield, \
1103 "Convert sleep(0) to thread yield " \
1104 "(may be off for Solaris to improve GUI)") \
1105 \
1106 product(bool, ConvertYieldToSleep, false, \
1107 "Convert yield to a sleep of MinSleepInterval to simulate Win32 " \
1108 "behavior") \
1109 \
1110 product(bool, UseBoundThreads, true, \
1111 "Bind user level threads to kernel threads (for Solaris only)") \
1112 \
1113 develop(bool, UseDetachedThreads, true, \
1114 "Use detached threads that are recycled upon termination " \
1115 "(for Solaris only)") \
1116 \
1117 product(bool, UseLWPSynchronization, true, \
1118 "Use LWP-based instead of libthread-based synchronization " \
1119 "(SPARC only)") \
1120 \
1121 product(ccstr, SyncKnobs, NULL, \
1122 "(Unstable) Various monitor synchronization tunables") \
1123 \
1124 product(intx, EmitSync, 0, \
1125 "(Unsafe, Unstable) " \
1126 "Control emission of inline sync fast-path code") \
1127 \
1128 product(intx, MonitorBound, 0, "Bound Monitor population") \
1129 \
1130 product(bool, MonitorInUseLists, false, "Track Monitors for Deflation") \
1131 \
1132 product(intx, SyncFlags, 0, "(Unsafe, Unstable) Experimental Sync flags") \
1133 \
1134 product(intx, SyncVerbose, 0, "(Unstable)") \
1135 \
1136 product(intx, ClearFPUAtPark, 0, "(Unsafe, Unstable)") \
1137 \
1138 product(intx, hashCode, 5, \
1139 "(Unstable) select hashCode generation algorithm") \
1140 \
1141 product(intx, WorkAroundNPTLTimedWaitHang, 1, \
1142 "(Unstable, Linux-specific) " \
1143 "avoid NPTL-FUTEX hang pthread_cond_timedwait") \
1144 \
1145 product(bool, FilterSpuriousWakeups, true, \
1146 "When true prevents OS-level spurious, or premature, wakeups " \
1147 "from Object.wait (Ignored for Windows)") \
1148 \
1149 product(intx, NativeMonitorTimeout, -1, "(Unstable)") \
1150 \
1151 product(intx, NativeMonitorFlags, 0, "(Unstable)") \
1152 \
1153 product(intx, NativeMonitorSpinLimit, 20, "(Unstable)") \
1154 \
1155 develop(bool, UsePthreads, false, \
1156 "Use pthread-based instead of libthread-based synchronization " \
1157 "(SPARC only)") \
1158 \
1159 product(bool, AdjustConcurrency, false, \
1160 "Call thr_setconcurrency at thread creation time to avoid " \
1161 "LWP starvation on MP systems (for Solaris Only)") \
1162 \
1163 product(bool, ReduceSignalUsage, false, \
1164 "Reduce the use of OS signals in Java and/or the VM") \
1165 \
1166 develop_pd(bool, ShareVtableStubs, \
1167 "Share vtable stubs (smaller code but worse branch prediction") \
3444 " used with care, as sometimes it can cause performance "\
3445 " degradation in the application and/or the entire system. On "\
3446 " Linux this policy requires root privilege.") \
3447 \
3448 product(bool, ThreadPriorityVerbose, false, \
3449 "Print priority changes") \
3450 \
3451 product(intx, DefaultThreadPriority, -1, \
3452 "The native priority at which threads run if not elsewhere " \
3453 "specified (-1 means no change)") \
3454 \
3455 product(intx, CompilerThreadPriority, -1, \
3456 "The native priority at which compiler threads should run " \
3457 "(-1 means no change)") \
3458 \
3459 product(intx, VMThreadPriority, -1, \
3460 "The native priority at which the VM thread should run " \
3461 "(-1 means no change)") \
3462 \
3463 product(bool, CompilerThreadHintNoPreempt, true, \
3464 "Give compiler threads an extra quanta") \
3465 \
3466 product(bool, VMThreadHintNoPreempt, false, \
3467 "Give VM thread an extra quanta") \
3468 \
3469 product(intx, JavaPriority1_To_OSPriority, -1, \
3470 "Map Java priorities to OS priorities") \
3471 \
3472 product(intx, JavaPriority2_To_OSPriority, -1, \
3473 "Map Java priorities to OS priorities") \
3474 \
3475 product(intx, JavaPriority3_To_OSPriority, -1, \
3476 "Map Java priorities to OS priorities") \
3477 \
3478 product(intx, JavaPriority4_To_OSPriority, -1, \
3479 "Map Java priorities to OS priorities") \
3480 \
3481 product(intx, JavaPriority5_To_OSPriority, -1, \
3482 "Map Java priorities to OS priorities") \
3483 \
3484 product(intx, JavaPriority6_To_OSPriority, -1, \
3485 "Map Java priorities to OS priorities") \
3486 \
3487 product(intx, JavaPriority7_To_OSPriority, -1, \
|