3460 " VM chooses priorities that are appropriate for normal "\
3461 " applications. On Solaris NORM_PRIORITY and above are mapped "\
3462 " to normal native priority. Java priorities below NORM_PRIORITY"\
3463 " map to lower native priority values. On Windows applications"\
3464 " are allowed to use higher native priorities. However, with "\
3465 " ThreadPriorityPolicy=0, VM will not use the highest possible"\
3466 " native priority, THREAD_PRIORITY_TIME_CRITICAL, as it may "\
3467 " interfere with system threads. On Linux thread priorities "\
3468 " are ignored because the OS does not support static priority "\
3469 " in SCHED_OTHER scheduling class which is the only choice for"\
3470 " non-root, non-realtime applications. "\
3471 "1 : Aggressive. "\
3472 " Java thread priorities map over to the entire range of "\
3473 " native thread priorities. Higher Java thread priorities map "\
3474 " to higher native thread priorities. This policy should be "\
3475 " used with care, as sometimes it can cause performance "\
3476 " degradation in the application and/or the entire system. On "\
3477 " Linux this policy requires root privilege.") \
3478 \
3479 product(bool, ThreadPriorityVerbose, false, \
3480 "print priority changes") \
3481 \
3482 product(intx, DefaultThreadPriority, -1, \
3483 "what native priority threads run at if not specified elsewhere (-1 means no change)") \
3484 \
3485 product(intx, CompilerThreadPriority, -1, \
3486 "what priority should compiler threads run at (-1 means no change)") \
3487 \
3488 product(intx, VMThreadPriority, -1, \
3489 "what priority should VM threads run at (-1 means no change)") \
3490 \
3491 product(bool, CompilerThreadHintNoPreempt, true, \
3492 "(Solaris only) Give compiler threads an extra quanta") \
3493 \
3494 product(bool, VMThreadHintNoPreempt, false, \
3495 "(Solaris only) Give VM thread an extra quanta") \
3496 \
3497 product(intx, JavaPriority1_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3498 product(intx, JavaPriority2_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3499 product(intx, JavaPriority3_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3500 product(intx, JavaPriority4_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3501 product(intx, JavaPriority5_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3502 product(intx, JavaPriority6_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3503 product(intx, JavaPriority7_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3504 product(intx, JavaPriority8_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3505 product(intx, JavaPriority9_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3506 product(intx, JavaPriority10_To_OSPriority,-1, "Map Java priorities to OS priorities") \
3507 \
3508 /* compiler debugging */ \
3509 notproduct(intx, CompileTheWorldStartAt, 1, \
3510 "First class to consider when using +CompileTheWorld") \
3511 \
3512 notproduct(intx, CompileTheWorldStopAt, max_jint, \
3513 "Last class to consider when using +CompileTheWorld") \
3514 \
3515 develop(intx, NewCodeParameter, 0, \
3516 "Testing Only: Create a dedicated integer parameter before " \
3517 "putback") \
3518 \
3519 /* new oopmap storage allocation */ \
3520 develop(intx, MinOopMapAllocation, 8, \
3521 "Minimum number of OopMap entries in an OopMapSet") \
3522 \
3523 /* Background Compilation */ \
3524 develop(intx, LongCompileThreshold, 50, \
3525 "Used with +TraceLongCompiles") \
3526 \
3527 product(intx, StarvationMonitorInterval, 200, \
3858 "Enable dtrace probes for method-entry and method-exit") \
3859 \
3860 product(bool, DTraceAllocProbes, false, \
3861 "Enable dtrace probes for object allocation") \
3862 \
3863 product(bool, DTraceMonitorProbes, false, \
3864 "Enable dtrace probes for monitor events") \
3865 \
3866 product(bool, RelaxAccessControlCheck, false, \
3867 "Relax the access control checks in the verifier") \
3868 \
3869 diagnostic(bool, PrintDTraceDOF, false, \
3870 "Print the DTrace DOF passed to the system for JSDT probes") \
3871 \
3872 product(uintx, StringTableSize, 1009, \
3873 "Number of buckets in the interned String table") \
3874 \
3875 product(bool, UseVMInterruptibleIO, false, \
3876 "(Unstable, Solaris-specific) Thread interrupt before or with " \
3877 "EINTR for I/O operations results in OS_INTRPT. The default value"\
3878 " of this flag is true for JDK 6 and earliers")
3879
3880 /*
3881 * Macros for factoring of globals
3882 */
3883
3884 // Interface macros
3885 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
3886 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
3887 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
3888 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
3889 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
3890 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
3891 #ifdef PRODUCT
3892 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) const type name = value;
3893 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) const type name = pd_##name;
3894 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc)
3895 #else
3896 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
3897 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
3898 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
|
3460 " VM chooses priorities that are appropriate for normal "\
3461 " applications. On Solaris NORM_PRIORITY and above are mapped "\
3462 " to normal native priority. Java priorities below NORM_PRIORITY"\
3463 " map to lower native priority values. On Windows applications"\
3464 " are allowed to use higher native priorities. However, with "\
3465 " ThreadPriorityPolicy=0, VM will not use the highest possible"\
3466 " native priority, THREAD_PRIORITY_TIME_CRITICAL, as it may "\
3467 " interfere with system threads. On Linux thread priorities "\
3468 " are ignored because the OS does not support static priority "\
3469 " in SCHED_OTHER scheduling class which is the only choice for"\
3470 " non-root, non-realtime applications. "\
3471 "1 : Aggressive. "\
3472 " Java thread priorities map over to the entire range of "\
3473 " native thread priorities. Higher Java thread priorities map "\
3474 " to higher native thread priorities. This policy should be "\
3475 " used with care, as sometimes it can cause performance "\
3476 " degradation in the application and/or the entire system. On "\
3477 " Linux this policy requires root privilege.") \
3478 \
3479 product(bool, ThreadPriorityVerbose, false, \
3480 "Print priority changes") \
3481 \
3482 product(intx, DefaultThreadPriority, -1, \
3483 "What native priority threads run at if not specified elsewhere " \
3484 "(-1 means no change)") \
3485 \
3486 product(intx, CompilerThreadPriority, -1, \
3487 "What native priority should compiler threads run at " \
3488 "(-1 means no change)") \
3489 \
3490 product(intx, VMThreadPriority, -1, \
3491 "What native priority should VM thread run at " \
3492 "(-1 means no change)") \
3493 \
3494 product(bool, CompilerThreadHintNoPreempt, true, \
3495 "(Solaris only) Give compiler threads an extra quanta") \
3496 \
3497 product(bool, VMThreadHintNoPreempt, false, \
3498 "(Solaris only) Give VM thread an extra quanta") \
3499 \
3500 product(intx, JavaPriority1_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3501 product(intx, JavaPriority2_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3502 product(intx, JavaPriority3_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3503 product(intx, JavaPriority4_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3504 product(intx, JavaPriority5_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3505 product(intx, JavaPriority6_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3506 product(intx, JavaPriority7_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3507 product(intx, JavaPriority8_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3508 product(intx, JavaPriority9_To_OSPriority, -1, "Map Java priorities to OS priorities") \
3509 product(intx, JavaPriority10_To_OSPriority,-1, "Map Java priorities to OS priorities") \
3510 \
3511 experimental(bool, UseCriticalJavaThreadPriority, false, \
3512 "Java thread priority 10 maps to critical scheduling priority") \
3513 \
3514 experimental(bool, UseCriticalCompilerThreadPriority, false, \
3515 "Compiler thread(s) run at critical scheduling priority") \
3516 \
3517 experimental(bool, UseCriticalCMSThreadPriority, false, \
3518 "ConcurrentMarkSweep thread runs at critical scheduling priority")\
3519 \
3520 /* compiler debugging */ \
3521 notproduct(intx, CompileTheWorldStartAt, 1, \
3522 "First class to consider when using +CompileTheWorld") \
3523 \
3524 notproduct(intx, CompileTheWorldStopAt, max_jint, \
3525 "Last class to consider when using +CompileTheWorld") \
3526 \
3527 develop(intx, NewCodeParameter, 0, \
3528 "Testing Only: Create a dedicated integer parameter before " \
3529 "putback") \
3530 \
3531 /* new oopmap storage allocation */ \
3532 develop(intx, MinOopMapAllocation, 8, \
3533 "Minimum number of OopMap entries in an OopMapSet") \
3534 \
3535 /* Background Compilation */ \
3536 develop(intx, LongCompileThreshold, 50, \
3537 "Used with +TraceLongCompiles") \
3538 \
3539 product(intx, StarvationMonitorInterval, 200, \
3870 "Enable dtrace probes for method-entry and method-exit") \
3871 \
3872 product(bool, DTraceAllocProbes, false, \
3873 "Enable dtrace probes for object allocation") \
3874 \
3875 product(bool, DTraceMonitorProbes, false, \
3876 "Enable dtrace probes for monitor events") \
3877 \
3878 product(bool, RelaxAccessControlCheck, false, \
3879 "Relax the access control checks in the verifier") \
3880 \
3881 diagnostic(bool, PrintDTraceDOF, false, \
3882 "Print the DTrace DOF passed to the system for JSDT probes") \
3883 \
3884 product(uintx, StringTableSize, 1009, \
3885 "Number of buckets in the interned String table") \
3886 \
3887 product(bool, UseVMInterruptibleIO, false, \
3888 "(Unstable, Solaris-specific) Thread interrupt before or with " \
3889 "EINTR for I/O operations results in OS_INTRPT. The default value"\
3890 " of this flag is true for JDK 6 and earlier")
3891
3892 /*
3893 * Macros for factoring of globals
3894 */
3895
3896 // Interface macros
3897 #define DECLARE_PRODUCT_FLAG(type, name, value, doc) extern "C" type name;
3898 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc) extern "C" type name;
3899 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
3900 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
3901 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
3902 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
3903 #ifdef PRODUCT
3904 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) const type name = value;
3905 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) const type name = pd_##name;
3906 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc)
3907 #else
3908 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc) extern "C" type name;
3909 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc) extern "C" type name;
3910 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc) extern "C" type name;
|