src/share/vm/runtime/globals.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/runtime

src/share/vm/runtime/globals.hpp

Print this page
rev 5240 : 8023657: New type profiling points: arguments to call
Summary: x86 interpreter and c1 type profiling for arguments at calls
Reviewed-by:


2707                                                                             \
2708   develop(bool, TraceFrequencyInlining, false,                              \
2709           "Trace frequency based inlining")                                 \
2710                                                                             \
2711   develop_pd(bool, InlineIntrinsics,                                        \
2712            "Inline intrinsics that can be statically resolved")             \
2713                                                                             \
2714   product_pd(bool, ProfileInterpreter,                                      \
2715            "Profile at the bytecode level during interpretation")           \
2716                                                                             \
2717   develop_pd(bool, ProfileTraps,                                            \
2718           "Profile deoptimization traps at the bytecode level")             \
2719                                                                             \
2720   product(intx, ProfileMaturityPercentage, 20,                              \
2721           "number of method invocations/branches (expressed as % of "       \
2722           "CompileThreshold) before using the method's profile")            \
2723                                                                             \
2724   develop(bool, PrintMethodData, false,                                     \
2725            "Print the results of +ProfileInterpreter at end of run")        \
2726                                                                             \



2727   develop(bool, VerifyDataPointer, trueInDebug,                             \
2728           "Verify the method data pointer during interpreter profiling")    \
2729                                                                             \
2730   develop(bool, VerifyCompiledCode, false,                                  \
2731           "Include miscellaneous runtime verifications in nmethod code; "   \
2732           "default off because it disturbs nmethod size heuristics")        \
2733                                                                             \
2734   notproduct(bool, CrashGCForDumpingJavaThread, false,                      \
2735           "Manually make GC thread crash then dump java stack trace;  "     \
2736           "Test only")                                                      \
2737                                                                             \
2738   /* compilation */                                                         \
2739   product(bool, UseCompiler, true,                                          \
2740           "use compilation")                                                \
2741                                                                             \
2742   develop(bool, TraceCompilationPolicy, false,                              \
2743           "Trace compilation policy")                                       \
2744                                                                             \
2745   develop(bool, TimeCompilationPolicy, false,                               \
2746           "Time the compilation policy")                                    \


3702   diagnostic(bool, WhiteBoxAPI, false,                                      \
3703           "Enable internal testing APIs")                                   \
3704                                                                             \
3705   product(bool, PrintGCCause, true,                                         \
3706           "Include GC cause in GC logging")                                 \
3707                                                                             \
3708   product(bool , AllowNonVirtualCalls, false,                               \
3709           "Obey the ACC_SUPER flag and allow invokenonvirtual calls")       \
3710                                                                             \
3711   diagnostic(ccstr, SharedArchiveFile, NULL,                                \
3712           "Override the default location of the CDS archive file")          \
3713                                                                             \
3714   experimental(uintx, ArrayAllocatorMallocLimit,                            \
3715           SOLARIS_ONLY(64*K) NOT_SOLARIS(max_uintx),                        \
3716           "Allocation less than this value will be allocated "              \
3717           "using malloc. Larger allocations will use mmap.")                \
3718                                                                             \
3719   product(bool, EnableTracing, false,                                       \
3720           "Enable event-based tracing")                                     \
3721   product(bool, UseLockedTracing, false,                                    \
3722           "Use locked-tracing when doing event-based tracing")
3723 






3724 
3725 /*
3726  *  Macros for factoring of globals
3727  */
3728 
3729 // Interface macros
3730 #define DECLARE_PRODUCT_FLAG(type, name, value, doc)    extern "C" type name;
3731 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc)        extern "C" type name;
3732 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
3733 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
3734 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
3735 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
3736 #ifdef PRODUCT
3737 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc)  const type name = value;
3738 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc)      const type name = pd_##name;
3739 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc)
3740 #else
3741 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc)  extern "C" type name;
3742 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc)      extern "C" type name;
3743 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc)  extern "C" type name;




2707                                                                             \
2708   develop(bool, TraceFrequencyInlining, false,                              \
2709           "Trace frequency based inlining")                                 \
2710                                                                             \
2711   develop_pd(bool, InlineIntrinsics,                                        \
2712            "Inline intrinsics that can be statically resolved")             \
2713                                                                             \
2714   product_pd(bool, ProfileInterpreter,                                      \
2715            "Profile at the bytecode level during interpretation")           \
2716                                                                             \
2717   develop_pd(bool, ProfileTraps,                                            \
2718           "Profile deoptimization traps at the bytecode level")             \
2719                                                                             \
2720   product(intx, ProfileMaturityPercentage, 20,                              \
2721           "number of method invocations/branches (expressed as % of "       \
2722           "CompileThreshold) before using the method's profile")            \
2723                                                                             \
2724   develop(bool, PrintMethodData, false,                                     \
2725            "Print the results of +ProfileInterpreter at end of run")        \
2726                                                                             \
2727   develop(bool, PrintMethodDataStats, false,                                \
2728            "Print size statistics for profiling")                           \
2729                                                                             \
2730   develop(bool, VerifyDataPointer, trueInDebug,                             \
2731           "Verify the method data pointer during interpreter profiling")    \
2732                                                                             \
2733   develop(bool, VerifyCompiledCode, false,                                  \
2734           "Include miscellaneous runtime verifications in nmethod code; "   \
2735           "default off because it disturbs nmethod size heuristics")        \
2736                                                                             \
2737   notproduct(bool, CrashGCForDumpingJavaThread, false,                      \
2738           "Manually make GC thread crash then dump java stack trace;  "     \
2739           "Test only")                                                      \
2740                                                                             \
2741   /* compilation */                                                         \
2742   product(bool, UseCompiler, true,                                          \
2743           "use compilation")                                                \
2744                                                                             \
2745   develop(bool, TraceCompilationPolicy, false,                              \
2746           "Trace compilation policy")                                       \
2747                                                                             \
2748   develop(bool, TimeCompilationPolicy, false,                               \
2749           "Time the compilation policy")                                    \


3705   diagnostic(bool, WhiteBoxAPI, false,                                      \
3706           "Enable internal testing APIs")                                   \
3707                                                                             \
3708   product(bool, PrintGCCause, true,                                         \
3709           "Include GC cause in GC logging")                                 \
3710                                                                             \
3711   product(bool , AllowNonVirtualCalls, false,                               \
3712           "Obey the ACC_SUPER flag and allow invokenonvirtual calls")       \
3713                                                                             \
3714   diagnostic(ccstr, SharedArchiveFile, NULL,                                \
3715           "Override the default location of the CDS archive file")          \
3716                                                                             \
3717   experimental(uintx, ArrayAllocatorMallocLimit,                            \
3718           SOLARIS_ONLY(64*K) NOT_SOLARIS(max_uintx),                        \
3719           "Allocation less than this value will be allocated "              \
3720           "using malloc. Larger allocations will use mmap.")                \
3721                                                                             \
3722   product(bool, EnableTracing, false,                                       \
3723           "Enable event-based tracing")                                     \
3724   product(bool, UseLockedTracing, false,                                    \
3725           "Use locked-tracing when doing event-based tracing")              \
3726                                                                             \
3727   product_pd(uintx, TypeProfile,                                            \
3728           "Type profiling of arguments at call:"                            \
3729           "0->off ; 1->js292 only; 2->all methods")                         \
3730   product(intx, TypeProfileArgsLimit,     2,                                \
3731           "max number of call arguments to consider for type profiling")    \
3732                                                                             \
3733 
3734 /*
3735  *  Macros for factoring of globals
3736  */
3737 
3738 // Interface macros
3739 #define DECLARE_PRODUCT_FLAG(type, name, value, doc)    extern "C" type name;
3740 #define DECLARE_PD_PRODUCT_FLAG(type, name, doc)        extern "C" type name;
3741 #define DECLARE_DIAGNOSTIC_FLAG(type, name, value, doc) extern "C" type name;
3742 #define DECLARE_EXPERIMENTAL_FLAG(type, name, value, doc) extern "C" type name;
3743 #define DECLARE_MANAGEABLE_FLAG(type, name, value, doc) extern "C" type name;
3744 #define DECLARE_PRODUCT_RW_FLAG(type, name, value, doc) extern "C" type name;
3745 #ifdef PRODUCT
3746 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc)  const type name = value;
3747 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc)      const type name = pd_##name;
3748 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc)
3749 #else
3750 #define DECLARE_DEVELOPER_FLAG(type, name, value, doc)  extern "C" type name;
3751 #define DECLARE_PD_DEVELOPER_FLAG(type, name, doc)      extern "C" type name;
3752 #define DECLARE_NOTPRODUCT_FLAG(type, name, value, doc)  extern "C" type name;


src/share/vm/runtime/globals.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File