comparison src/share/vm/runtime/globals.hpp @ 6275:957c266d8bc5

Merge with http://hg.openjdk.java.net/hsx/hsx24/hotspot/
author Doug Simon <doug.simon@oracle.com>
date Tue, 21 Aug 2012 10:39:19 +0200
parents 120820e30baa 1d7922586cf6
children c38f13903fdf
comparison
equal deleted inserted replaced
5891:fd8832ae511d 6275:957c266d8bc5
188 #define CI_COMPILER_COUNT 1 188 #define CI_COMPILER_COUNT 1
189 #endif // COMPILER2 189 #endif // COMPILER2
190 190
191 #endif // no compilers 191 #endif // no compilers
192 192
193
194 // string type aliases used only in this file 193 // string type aliases used only in this file
195 typedef const char* ccstr; 194 typedef const char* ccstr;
196 typedef const char* ccstrlist; // represents string arguments which accumulate 195 typedef const char* ccstrlist; // represents string arguments which accumulate
197 196
198 enum FlagValueOrigin { 197 enum FlagValueOrigin {
220 static Flag *flags; 219 static Flag *flags;
221 220
222 // number of flags 221 // number of flags
223 static size_t numFlags; 222 static size_t numFlags;
224 223
225 static Flag* find_flag(char* name, size_t length); 224 static Flag* find_flag(char* name, size_t length, bool allow_locked = false);
226 225
227 bool is_bool() const { return strcmp(type, "bool") == 0; } 226 bool is_bool() const { return strcmp(type, "bool") == 0; }
228 bool get_bool() const { return *((bool*) addr); } 227 bool get_bool() const { return *((bool*) addr); }
229 void set_bool(bool value) { *((bool*) addr) = value; } 228 void set_bool(bool value) { *((bool*) addr) = value; }
230 229
256 255
257 bool is_unlocker_ext() const; 256 bool is_unlocker_ext() const;
258 bool is_unlocked_ext() const; 257 bool is_unlocked_ext() const;
259 bool is_writeable_ext() const; 258 bool is_writeable_ext() const;
260 bool is_external_ext() const; 259 bool is_external_ext() const;
260
261 void get_locked_message(char*, int) const;
262 void get_locked_message_ext(char*, int) const;
261 263
262 void print_on(outputStream* st, bool withComments = false ); 264 void print_on(outputStream* st, bool withComments = false );
263 void print_as_flag(outputStream* st); 265 void print_as_flag(outputStream* st);
264 }; 266 };
265 267
626 "inline SinD, CosD, etc.") \ 628 "inline SinD, CosD, etc.") \
627 \ 629 \
628 develop(bool, InlineClassNatives, true, \ 630 develop(bool, InlineClassNatives, true, \
629 "inline Class.isInstance, etc") \ 631 "inline Class.isInstance, etc") \
630 \ 632 \
631 develop(bool, InlineAtomicLong, true, \
632 "inline sun.misc.AtomicLong") \
633 \
634 product(ccstr, HighLevelInterpreterClass, NULL, \ 633 product(ccstr, HighLevelInterpreterClass, NULL, \
635 "fully qualified class name of the high-level interpreter") \ 634 "fully qualified class name of the high-level interpreter") \
636 \ 635 \
637 product(ccstr, HighLevelInterpreterArguments, NULL, \ 636 product(ccstr, HighLevelInterpreterArguments, NULL, \
638 "arguments that are passed to the high-level interpreter") \ 637 "arguments that are passed to the high-level interpreter") \
903 "Trace vm operations") \ 902 "Trace vm operations") \
904 \ 903 \
905 develop(bool, UseFakeTimers, false, \ 904 develop(bool, UseFakeTimers, false, \
906 "Tells whether the VM should use system time or a fake timer") \ 905 "Tells whether the VM should use system time or a fake timer") \
907 \ 906 \
907 product(ccstr, NativeMemoryTracking, "off", \
908 "Native memory tracking options") \
909 \
908 diagnostic(bool, LogCompilation, false, \ 910 diagnostic(bool, LogCompilation, false, \
909 "Log compilation activity in detail to hotspot.log or LogFile") \ 911 "Log compilation activity in detail to hotspot.log or LogFile") \
910 \ 912 \
911 product(bool, PrintCompilation, false, \ 913 product(bool, PrintCompilation, false, \
912 "Print compilations") \ 914 "Print compilations") \
934 diagnostic(bool, PrintCompilation2, false, \ 936 diagnostic(bool, PrintCompilation2, false, \
935 "Print additional statistics per compilation") \ 937 "Print additional statistics per compilation") \
936 \ 938 \
937 diagnostic(bool, PrintAdapterHandlers, false, \ 939 diagnostic(bool, PrintAdapterHandlers, false, \
938 "Print code generated for i2c/c2i adapters") \ 940 "Print code generated for i2c/c2i adapters") \
941 \
942 diagnostic(bool, VerifyAdapterCalls, trueInDebug, \
943 "Verify that i2c/c2i adapters are called properly") \
939 \ 944 \
940 develop(bool, VerifyAdapterSharing, false, \ 945 develop(bool, VerifyAdapterSharing, false, \
941 "Verify that the code for shared adapters is the equivalent") \ 946 "Verify that the code for shared adapters is the equivalent") \
942 \ 947 \
943 diagnostic(bool, PrintAssembly, false, \ 948 diagnostic(bool, PrintAssembly, false, \
2669 "If DisplayVMOutput is true, display all VM output to stdout") \ 2674 "If DisplayVMOutput is true, display all VM output to stdout") \
2670 \ 2675 \
2671 product(bool, UseHeavyMonitors, false, \ 2676 product(bool, UseHeavyMonitors, false, \
2672 "use heavyweight instead of lightweight Java monitors") \ 2677 "use heavyweight instead of lightweight Java monitors") \
2673 \ 2678 \
2679 product(bool, PrintStringTableStatistics, false, \
2680 "print statistics about the StringTable and SymbolTable") \
2681 \
2674 notproduct(bool, PrintSymbolTableSizeHistogram, false, \ 2682 notproduct(bool, PrintSymbolTableSizeHistogram, false, \
2675 "print histogram of the symbol table") \ 2683 "print histogram of the symbol table") \
2676 \ 2684 \
2677 notproduct(bool, ExitVMOnVerifyError, false, \ 2685 notproduct(bool, ExitVMOnVerifyError, false, \
2678 "standard exit from VM if bytecode verify error " \ 2686 "standard exit from VM if bytecode verify error " \
3294 diagnostic(uintx, VerifyGCStartAt, 0, \ 3302 diagnostic(uintx, VerifyGCStartAt, 0, \
3295 "GC invoke count where +VerifyBefore/AfterGC kicks in") \ 3303 "GC invoke count where +VerifyBefore/AfterGC kicks in") \
3296 \ 3304 \
3297 diagnostic(intx, VerifyGCLevel, 0, \ 3305 diagnostic(intx, VerifyGCLevel, 0, \
3298 "Generation level at which to start +VerifyBefore/AfterGC") \ 3306 "Generation level at which to start +VerifyBefore/AfterGC") \
3299 \
3300 develop(uintx, ExitAfterGCNum, 0, \
3301 "If non-zero, exit after this GC.") \
3302 \ 3307 \
3303 product(intx, MaxTenuringThreshold, 15, \ 3308 product(intx, MaxTenuringThreshold, 15, \
3304 "Maximum value for tenuring threshold") \ 3309 "Maximum value for tenuring threshold") \
3305 \ 3310 \
3306 product(intx, InitialTenuringThreshold, 7, \ 3311 product(intx, InitialTenuringThreshold, 7, \
3716 develop(intx, FastSuperclassLimit, 8, \ 3721 develop(intx, FastSuperclassLimit, 8, \
3717 "Depth of hardwired instanceof accelerator array") \ 3722 "Depth of hardwired instanceof accelerator array") \
3718 \ 3723 \
3719 /* Properties for Java libraries */ \ 3724 /* Properties for Java libraries */ \
3720 \ 3725 \
3721 product(intx, MaxDirectMemorySize, -1, \ 3726 product(uintx, MaxDirectMemorySize, 0, \
3722 "Maximum total size of NIO direct-buffer allocations") \ 3727 "Maximum total size of NIO direct-buffer allocations") \
3723 \ 3728 \
3724 /* temporary developer defined flags */ \ 3729 /* temporary developer defined flags */ \
3725 \ 3730 \
3726 diagnostic(bool, UseNewCode, false, \ 3731 diagnostic(bool, UseNewCode, false, \
3817 "Size of read-write space in permanent generation (in bytes)") \ 3822 "Size of read-write space in permanent generation (in bytes)") \
3818 \ 3823 \
3819 product(uintx, SharedReadOnlySize, 10*M, \ 3824 product(uintx, SharedReadOnlySize, 10*M, \
3820 "Size of read-only space in permanent generation (in bytes)") \ 3825 "Size of read-only space in permanent generation (in bytes)") \
3821 \ 3826 \
3822 product(uintx, SharedMiscDataSize, NOT_LP64(4*M) LP64_ONLY(5*M), \ 3827 product(uintx, SharedMiscDataSize, NOT_LP64(4*M) LP64_ONLY(5*M) NOT_PRODUCT(+1*M), \
3823 "Size of the shared data area adjacent to the heap (in bytes)") \ 3828 "Size of the shared data area adjacent to the heap (in bytes)") \
3824 \ 3829 \
3825 product(uintx, SharedMiscCodeSize, 4*M, \ 3830 product(uintx, SharedMiscCodeSize, 4*M, \
3826 "Size of the shared code area adjacent to the heap (in bytes)") \ 3831 "Size of the shared code area adjacent to the heap (in bytes)") \
3827 \ 3832 \
3843 "anonymous classes") \ 3848 "anonymous classes") \
3844 \ 3849 \
3845 product(bool, AnonymousClasses, false, \ 3850 product(bool, AnonymousClasses, false, \
3846 "support sun.misc.Unsafe.defineAnonymousClass (deprecated)") \ 3851 "support sun.misc.Unsafe.defineAnonymousClass (deprecated)") \
3847 \ 3852 \
3848 experimental(bool, EnableMethodHandles, false, \
3849 "support method handles (deprecated)") \
3850 \
3851 diagnostic(intx, MethodHandlePushLimit, 3, \
3852 "number of additional stack slots a method handle may push") \
3853 \
3854 diagnostic(bool, PrintMethodHandleStubs, false, \ 3853 diagnostic(bool, PrintMethodHandleStubs, false, \
3855 "Print generated stub code for method handles") \ 3854 "Print generated stub code for method handles") \
3856 \ 3855 \
3857 develop(bool, TraceMethodHandles, false, \ 3856 develop(bool, TraceMethodHandles, false, \
3858 "trace internal method handle operations") \ 3857 "trace internal method handle operations") \
3859 \ 3858 \
3860 diagnostic(bool, VerifyMethodHandles, trueInDebug, \ 3859 diagnostic(bool, VerifyMethodHandles, trueInDebug, \
3861 "perform extra checks when constructing method handles") \ 3860 "perform extra checks when constructing method handles") \
3862 \ 3861 \
3863 diagnostic(bool, OptimizeMethodHandles, true, \ 3862 diagnostic(bool, ShowHiddenFrames, false, \
3864 "when constructing method handles, try to improve them") \ 3863 "show method handle implementation frames (usually hidden)") \
3865 \
3866 develop(bool, StressMethodHandleWalk, false, \
3867 "Process all method handles with MethodHandleWalk") \
3868 \ 3864 \
3869 experimental(bool, TrustFinalNonStaticFields, false, \ 3865 experimental(bool, TrustFinalNonStaticFields, false, \
3870 "trust final non-static declarations for constant folding") \ 3866 "trust final non-static declarations for constant folding") \
3871 \
3872 experimental(bool, AllowInvokeGeneric, false, \
3873 "accept MethodHandle.invoke and MethodHandle.invokeGeneric " \
3874 "as equivalent methods") \
3875 \ 3867 \
3876 develop(bool, TraceInvokeDynamic, false, \ 3868 develop(bool, TraceInvokeDynamic, false, \
3877 "trace internal invoke dynamic operations") \ 3869 "trace internal invoke dynamic operations") \
3878 \ 3870 \
3879 diagnostic(bool, PauseAtStartup, false, \ 3871 diagnostic(bool, PauseAtStartup, false, \
3909 "Number of buckets in the interned String table") \ 3901 "Number of buckets in the interned String table") \
3910 \ 3902 \
3911 product(bool, UseVMInterruptibleIO, false, \ 3903 product(bool, UseVMInterruptibleIO, false, \
3912 "(Unstable, Solaris-specific) Thread interrupt before or with " \ 3904 "(Unstable, Solaris-specific) Thread interrupt before or with " \
3913 "EINTR for I/O operations results in OS_INTRPT. The default value"\ 3905 "EINTR for I/O operations results in OS_INTRPT. The default value"\
3914 " of this flag is true for JDK 6 and earlier") 3906 " of this flag is true for JDK 6 and earlier") \
3907 \
3908 diagnostic(bool, WhiteBoxAPI, false, \
3909 "Enable internal testing APIs") \
3910 \
3911 product(bool, PrintGCCause, true, \
3912 "Include GC cause in GC logging")
3915 3913
3916 /* 3914 /*
3917 * Macros for factoring of globals 3915 * Macros for factoring of globals
3918 */ 3916 */
3919 3917