diff -r 6ba00f89fbe1 -r d2582a08fa5d src/share/vm/runtime/arguments.cpp --- a/src/share/vm/runtime/arguments.cpp Thu Oct 11 15:29:16 2012 -0700 +++ b/src/share/vm/runtime/arguments.cpp Thu Oct 18 21:58:55 2012 -0700 @@ -1066,7 +1066,7 @@ } } -#ifndef KERNEL +#if INCLUDE_ALTERNATE_GCS static void disable_adaptive_size_policy(const char* collector_name) { if (UseAdaptiveSizePolicy) { if (FLAG_IS_CMDLINE(UseAdaptiveSizePolicy)) { @@ -1141,7 +1141,7 @@ FLAG_SET_ERGO(bool, UseParNewGC, true); } - // Turn off AdaptiveSizePolicy for CMS until it is complete. + // Turn off AdaptiveSizePolicy by default for cms until it is complete. disable_adaptive_size_policy("UseConcMarkSweepGC"); // In either case, adjust ParallelGCThreads and/or UseParNewGC @@ -1283,7 +1283,7 @@ tty->print_cr("ConcGCThreads: %u", ConcGCThreads); } } -#endif // KERNEL +#endif // INCLUDE_ALTERNATE_GCS void set_object_alignment() { // Object alignment. @@ -1300,10 +1300,10 @@ // Oop encoding heap max OopEncodingHeapMax = (uint64_t(max_juint) + 1) << LogMinObjAlignmentInBytes; -#ifndef KERNEL +#if INCLUDE_ALTERNATE_GCS // Set CMS global values CompactibleFreeListSpace::set_cms_values(); -#endif // KERNEL +#endif // INCLUDE_ALTERNATE_GCS } bool verify_object_alignment() { @@ -1423,10 +1423,9 @@ FLAG_SET_DEFAULT(UseCompressedKlassPointers, false); } else { // Turn on UseCompressedKlassPointers too - // The compiler is broken for this so turn it on when the compiler is fixed. - // if (FLAG_IS_DEFAULT(UseCompressedKlassPointers)) { - // FLAG_SET_ERGO(bool, UseCompressedKlassPointers, true); - // } + if (FLAG_IS_DEFAULT(UseCompressedKlassPointers)) { + FLAG_SET_ERGO(bool, UseCompressedKlassPointers, true); + } // Set the ClassMetaspaceSize to something that will not need to be // expanded, since it cannot be expanded. if (UseCompressedKlassPointers && FLAG_IS_DEFAULT(ClassMetaspaceSize)) { @@ -1991,9 +1990,15 @@ } #endif // SPARC - if (PrintNMTStatistics && MemTracker::tracking_level() == MemTracker::NMT_off) { - warning("PrintNMTStatistics is disabled, because native memory tracking is not enabled"); - PrintNMTStatistics = false; + if (PrintNMTStatistics) { +#if INCLUDE_NMT + if (MemTracker::tracking_level() == MemTracker::NMT_off) { +#endif // INCLUDE_NMT + warning("PrintNMTStatistics is disabled, because native memory tracking is not enabled"); + PrintNMTStatistics = false; +#if INCLUDE_NMT + } +#endif } return status; @@ -2220,12 +2225,12 @@ size_t len2 = strlen(pos+1) + 1; // options start after ':'. Final zero must be copied. options = (char*)memcpy(NEW_C_HEAP_ARRAY(char, len2, mtInternal), pos+1, len2); } -#ifdef JVMTI_KERNEL +#if !INCLUDE_JVMTI if ((strcmp(name, "hprof") == 0) || (strcmp(name, "jdwp") == 0)) { - warning("profiling and debugging agents are not supported with Kernel VM"); + warning("profiling and debugging agents are not supported in this VM"); } else -#endif // JVMTI_KERNEL - add_init_library(name, options); +#endif // !INCLUDE_JVMTI + add_init_library(name, options); } // -agentlib and -agentpath } else if (match_option(option, "-agentlib:", &tail) || @@ -2240,20 +2245,24 @@ if(pos != NULL) { options = strcpy(NEW_C_HEAP_ARRAY(char, strlen(pos + 1) + 1, mtInternal), pos + 1); } -#ifdef JVMTI_KERNEL +#if !INCLUDE_JVMTI if ((strcmp(name, "hprof") == 0) || (strcmp(name, "jdwp") == 0)) { - warning("profiling and debugging agents are not supported with Kernel VM"); + warning("profiling and debugging agents are not supported in this VM"); } else -#endif // JVMTI_KERNEL +#endif // !INCLUDE_JVMTI add_init_agent(name, options, is_absolute_path); } // -javaagent } else if (match_option(option, "-javaagent:", &tail)) { +#if !INCLUDE_JVMTI + warning("Instrumentation agents are not supported in this VM"); +#else if(tail != NULL) { char *options = strcpy(NEW_C_HEAP_ARRAY(char, strlen(tail) + 1, mtInternal), tail); add_init_agent("instrument", options, false); } +#endif // !INCLUDE_JVMTI // -Xnoclassgc } else if (match_option(option, "-Xnoclassgc", &tail)) { FLAG_SET_CMDLINE(bool, ClassUnloading, false); @@ -2385,12 +2394,12 @@ // EVM option, ignore silently for compatibility // -Xprof } else if (match_option(option, "-Xprof", &tail)) { -#ifndef FPROF_KERNEL +#if INCLUDE_FPROF _has_profile = true; -#else // FPROF_KERNEL +#else // INCLUDE_FPROF // do we have to exit? - warning("Kernel VM does not support flat profiling."); -#endif // FPROF_KERNEL + warning("Flat profiling is not supported in this VM."); +#endif // INCLUDE_FPROF // -Xaprof } else if (match_option(option, "-Xaprof", &tail)) { _has_alloc_profile = true; @@ -2438,6 +2447,9 @@ #if defined(KERNEL) vm_exit_during_initialization( "Dumping a shared archive is not supported on the Kernel JVM.", NULL); +#elif !INCLUDE_CDS + vm_exit_during_initialization( + "Dumping a shared archive is not supported in this VM.", NULL); #else FLAG_SET_CMDLINE(bool, DumpSharedSpaces, true); set_mode_flags(_int); // Prevent compilation, which creates objects @@ -2490,7 +2502,11 @@ // JNI hooks } else if (match_option(option, "-Xcheck", &tail)) { if (!strcmp(tail, ":jni")) { +#if !INCLUDE_JNI_CHECK + warning("JNI CHECKING is not supported in this VM"); +#else CheckJNICalls = true; +#endif // INCLUDE_JNI_CHECK } else if (is_bad_option(option, args->ignoreUnrecognized, "check")) { return JNI_EINVAL; @@ -3045,7 +3061,11 @@ vm_exit(0); } if (match_option(option, "-XX:NativeMemoryTracking", &tail)) { +#if INCLUDE_NMT MemTracker::init_tracking_options(tail); +#else + warning("Native Memory Tracking is not supported in this VM"); +#endif } @@ -3108,6 +3128,21 @@ UNSUPPORTED_OPTION(UseG1GC, "G1 GC"); #endif +#if !INCLUDE_ALTERNATE_GCS + if (UseParallelGC) { + warning("Parallel GC is not supported in this VM. Using Serial GC."); + } + if (UseParallelOldGC) { + warning("Parallel Old GC is not supported in this VM. Using Serial GC."); + } + if (UseConcMarkSweepGC) { + warning("Concurrent Mark Sweep GC is not supported in this VM. Using Serial GC."); + } + if (UseParNewGC) { + warning("Par New GC is not supported in this VM. Using Serial GC."); + } +#endif // INCLUDE_ALTERNATE_GCS + #ifndef PRODUCT if (TraceBytecodesAt != 0) { TraceBytecodes = true; @@ -3156,9 +3191,9 @@ #ifdef SERIALGC force_serial_gc(); #endif // SERIALGC -#ifdef KERNEL +#if !INCLUDE_CDS no_shared_spaces(); -#endif // KERNEL +#endif // INCLUDE_CDS // Set flags based on ergonomics. set_ergonomics_flags(); @@ -3180,9 +3215,10 @@ } } -#ifndef KERNEL // Set heap size based on available physical memory set_heap_size(); + +#if INCLUDE_ALTERNATE_GCS // Set per-collector flags if (UseParallelGC || UseParallelOldGC) { set_parallel_gc_flags(); @@ -3193,7 +3229,7 @@ } else if (UseG1GC) { set_g1_gc_flags(); } -#endif // KERNEL +#endif // INCLUDE_ALTERNATE_GCS #ifdef SERIALGC assert(verify_serial_gc_flags(), "SerialGC unset");