--- a/hotspot/make/excludeSrc.make Wed Feb 20 08:51:44 2013 -0800
+++ b/hotspot/make/excludeSrc.make Wed Feb 20 23:29:26 2013 -0500
@@ -78,7 +78,7 @@
Src_Files_EXCLUDE += \
cmsAdaptiveSizePolicy.cpp cmsCollectorPolicy.cpp \
- cmsGCAdaptivePolicyCounters.cpp cmsLockVerifier.cpp cmsPermGen.cpp compactibleFreeListSpace.cpp \
+ cmsGCAdaptivePolicyCounters.cpp cmsLockVerifier.cpp compactibleFreeListSpace.cpp \
concurrentMarkSweepGeneration.cpp concurrentMarkSweepThread.cpp \
freeChunk.cpp adaptiveFreeList.cpp promotionInfo.cpp vmCMSOperations.cpp collectionSetChooser.cpp \
concurrentG1Refine.cpp concurrentG1RefineThread.cpp concurrentMark.cpp concurrentMarkThread.cpp \
@@ -91,11 +91,11 @@
gcTaskManager.cpp gcTaskThread.cpp objectStartArray.cpp parallelScavengeHeap.cpp parMarkBitMap.cpp \
pcTasks.cpp psAdaptiveSizePolicy.cpp psCompactionManager.cpp psGCAdaptivePolicyCounters.cpp \
psGenerationCounters.cpp psMarkSweep.cpp psMarkSweepDecorator.cpp psOldGen.cpp psParallelCompact.cpp \
- psPermGen.cpp psPromotionLAB.cpp psPromotionManager.cpp psScavenge.cpp psTasks.cpp psVirtualspace.cpp \
+ psPromotionLAB.cpp psPromotionManager.cpp psScavenge.cpp psTasks.cpp psVirtualspace.cpp \
psYoungGen.cpp vmPSOperations.cpp asParNewGeneration.cpp parCardTableModRefBS.cpp \
parGCAllocBuffer.cpp parNewGeneration.cpp mutableSpace.cpp gSpaceCounters.cpp allocationStats.cpp \
spaceCounters.cpp gcAdaptivePolicyCounters.cpp mutableNUMASpace.cpp immutableSpace.cpp \
- immutableSpace.cpp g1MemoryPool.cpp psMemoryPool.cpp yieldWorkingGroup.cpp g1Log.cpp
+ immutableSpace.cpp g1MemoryPool.cpp psMemoryPool.cpp yieldingWorkGroup.cpp g1Log.cpp
endif
ifeq ($(INCLUDE_NMT), false)
--- a/hotspot/src/share/vm/c1/c1_LIR.cpp Wed Feb 20 08:51:44 2013 -0800
+++ b/hotspot/src/share/vm/c1/c1_LIR.cpp Wed Feb 20 23:29:26 2013 -0500
@@ -814,7 +814,7 @@
// only visit register parameters
int n = opJavaCall->_arguments->length();
- for (int i = 0; i < n; i++) {
+ for (int i = opJavaCall->_receiver->is_valid() ? 1 : 0; i < n; i++) {
if (!opJavaCall->_arguments->at(i)->is_pointer()) {
do_input(*opJavaCall->_arguments->adr_at(i));
}
--- a/hotspot/src/share/vm/runtime/arguments.cpp Wed Feb 20 08:51:44 2013 -0800
+++ b/hotspot/src/share/vm/runtime/arguments.cpp Wed Feb 20 23:29:26 2013 -0500
@@ -1738,16 +1738,6 @@
return false;
}
-static void force_serial_gc() {
- FLAG_SET_DEFAULT(UseSerialGC, true);
- FLAG_SET_DEFAULT(UseParNewGC, false);
- FLAG_SET_DEFAULT(UseConcMarkSweepGC, false);
- FLAG_SET_DEFAULT(CMSIncrementalMode, false); // special CMS suboption
- FLAG_SET_DEFAULT(UseParallelGC, false);
- FLAG_SET_DEFAULT(UseParallelOldGC, false);
- FLAG_SET_DEFAULT(UseG1GC, false);
-}
-
static bool verify_serial_gc_flags() {
return (UseSerialGC &&
!(UseParNewGC || (UseConcMarkSweepGC || CMSIncrementalMode) || UseG1GC ||
@@ -2498,7 +2488,12 @@
}
// Out of the box management support
if (match_option(option, "-Dcom.sun.management", &tail)) {
+#if INCLUDE_MANAGEMENT
FLAG_SET_CMDLINE(bool, ManagementServer, true);
+#else
+ vm_exit_during_initialization(
+ "-Dcom.sun.management is not supported in this VM.", NULL);
+#endif
}
// -Xint
} else if (match_option(option, "-Xint", &tail)) {
@@ -2844,6 +2839,11 @@
// away and will cause VM initialization failures!
warning("-XX:+UseVMInterruptibleIO is obsolete and will be removed in a future release.");
FLAG_SET_CMDLINE(bool, UseVMInterruptibleIO, true);
+#if !INCLUDE_MANAGEMENT
+ } else if (match_option(option, "-XX:+ManagementServer", &tail)) {
+ vm_exit_during_initialization(
+ "ManagementServer is not supported in this VM.", NULL);
+#endif // INCLUDE_MANAGEMENT
} else if (match_option(option, "-XX:", &tail)) { // -XX:xxxx
// Skip -XX:Flags= since that case has already been handled
if (strncmp(tail, "Flags=", strlen("Flags=")) != 0) {
@@ -3072,6 +3072,27 @@
} \
} while(0)
+
+#define UNSUPPORTED_GC_OPTION(gc) \
+do { \
+ if (gc) { \
+ if (FLAG_IS_CMDLINE(gc)) { \
+ warning(#gc " is not supported in this VM. Using Serial GC."); \
+ } \
+ FLAG_SET_DEFAULT(gc, false); \
+ } \
+} while(0)
+
+static void force_serial_gc() {
+ FLAG_SET_DEFAULT(UseSerialGC, true);
+ FLAG_SET_DEFAULT(CMSIncrementalMode, false); // special CMS suboption
+ UNSUPPORTED_GC_OPTION(UseG1GC);
+ UNSUPPORTED_GC_OPTION(UseParallelGC);
+ UNSUPPORTED_GC_OPTION(UseParallelOldGC);
+ UNSUPPORTED_GC_OPTION(UseConcMarkSweepGC);
+ UNSUPPORTED_GC_OPTION(UseParNewGC);
+}
+
// Parse entry point called from JNI_CreateJavaVM
jint Arguments::parse(const JavaVMInitArgs* args) {
@@ -3187,28 +3208,15 @@
hotspotrc, hotspotrc);
}
-#if (defined JAVASE_EMBEDDED || defined ARM)
- UNSUPPORTED_OPTION(UseG1GC, "G1 GC");
-#endif
-
#ifdef _ALLBSD_SOURCE // UseLargePages is not yet supported on BSD.
UNSUPPORTED_OPTION(UseLargePages, "-XX:+UseLargePages");
#endif
-#if !INCLUDE_ALL_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_ALL_GCS
+#if INCLUDE_ALL_GCS
+ #if (defined JAVASE_EMBEDDED || defined ARM)
+ UNSUPPORTED_OPTION(UseG1GC, "G1 GC");
+ #endif
+#endif
#ifndef PRODUCT
if (TraceBytecodesAt != 0) {
--- a/hotspot/src/share/vm/utilities/yieldingWorkgroup.cpp Wed Feb 20 08:51:44 2013 -0800
+++ b/hotspot/src/share/vm/utilities/yieldingWorkgroup.cpp Wed Feb 20 23:29:26 2013 -0500
@@ -24,9 +24,7 @@
#include "precompiled.hpp"
#include "utilities/macros.hpp"
-#if INCLUDE_ALL_GCS
#include "utilities/yieldingWorkgroup.hpp"
-#endif // INCLUDE_ALL_GCS
// Forward declaration of classes declared here.