提交 485f0cc5 编写于 作者: B bpittore

Merge

...@@ -78,7 +78,7 @@ ifeq ($(INCLUDE_ALL_GCS), false) ...@@ -78,7 +78,7 @@ ifeq ($(INCLUDE_ALL_GCS), false)
Src_Files_EXCLUDE += \ Src_Files_EXCLUDE += \
cmsAdaptiveSizePolicy.cpp cmsCollectorPolicy.cpp \ cmsAdaptiveSizePolicy.cpp cmsCollectorPolicy.cpp \
cmsGCAdaptivePolicyCounters.cpp cmsLockVerifier.cpp cmsPermGen.cpp compactibleFreeListSpace.cpp \ cmsGCAdaptivePolicyCounters.cpp cmsLockVerifier.cpp compactibleFreeListSpace.cpp \
concurrentMarkSweepGeneration.cpp concurrentMarkSweepThread.cpp \ concurrentMarkSweepGeneration.cpp concurrentMarkSweepThread.cpp \
freeChunk.cpp adaptiveFreeList.cpp promotionInfo.cpp vmCMSOperations.cpp collectionSetChooser.cpp \ freeChunk.cpp adaptiveFreeList.cpp promotionInfo.cpp vmCMSOperations.cpp collectionSetChooser.cpp \
concurrentG1Refine.cpp concurrentG1RefineThread.cpp concurrentMark.cpp concurrentMarkThread.cpp \ concurrentG1Refine.cpp concurrentG1RefineThread.cpp concurrentMark.cpp concurrentMarkThread.cpp \
...@@ -91,11 +91,11 @@ ifeq ($(INCLUDE_ALL_GCS), false) ...@@ -91,11 +91,11 @@ ifeq ($(INCLUDE_ALL_GCS), false)
gcTaskManager.cpp gcTaskThread.cpp objectStartArray.cpp parallelScavengeHeap.cpp parMarkBitMap.cpp \ gcTaskManager.cpp gcTaskThread.cpp objectStartArray.cpp parallelScavengeHeap.cpp parMarkBitMap.cpp \
pcTasks.cpp psAdaptiveSizePolicy.cpp psCompactionManager.cpp psGCAdaptivePolicyCounters.cpp \ pcTasks.cpp psAdaptiveSizePolicy.cpp psCompactionManager.cpp psGCAdaptivePolicyCounters.cpp \
psGenerationCounters.cpp psMarkSweep.cpp psMarkSweepDecorator.cpp psOldGen.cpp psParallelCompact.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 \ psYoungGen.cpp vmPSOperations.cpp asParNewGeneration.cpp parCardTableModRefBS.cpp \
parGCAllocBuffer.cpp parNewGeneration.cpp mutableSpace.cpp gSpaceCounters.cpp allocationStats.cpp \ parGCAllocBuffer.cpp parNewGeneration.cpp mutableSpace.cpp gSpaceCounters.cpp allocationStats.cpp \
spaceCounters.cpp gcAdaptivePolicyCounters.cpp mutableNUMASpace.cpp immutableSpace.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 endif
ifeq ($(INCLUDE_NMT), false) ifeq ($(INCLUDE_NMT), false)
......
...@@ -814,7 +814,7 @@ void LIR_OpVisitState::visit(LIR_Op* op) { ...@@ -814,7 +814,7 @@ void LIR_OpVisitState::visit(LIR_Op* op) {
// only visit register parameters // only visit register parameters
int n = opJavaCall->_arguments->length(); 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()) { if (!opJavaCall->_arguments->at(i)->is_pointer()) {
do_input(*opJavaCall->_arguments->adr_at(i)); do_input(*opJavaCall->_arguments->adr_at(i));
} }
......
...@@ -1738,16 +1738,6 @@ bool Arguments::verify_percentage(uintx value, const char* name) { ...@@ -1738,16 +1738,6 @@ bool Arguments::verify_percentage(uintx value, const char* name) {
return false; 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() { static bool verify_serial_gc_flags() {
return (UseSerialGC && return (UseSerialGC &&
!(UseParNewGC || (UseConcMarkSweepGC || CMSIncrementalMode) || UseG1GC || !(UseParNewGC || (UseConcMarkSweepGC || CMSIncrementalMode) || UseG1GC ||
...@@ -2498,7 +2488,12 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args, ...@@ -2498,7 +2488,12 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args,
} }
// Out of the box management support // Out of the box management support
if (match_option(option, "-Dcom.sun.management", &tail)) { if (match_option(option, "-Dcom.sun.management", &tail)) {
#if INCLUDE_MANAGEMENT
FLAG_SET_CMDLINE(bool, ManagementServer, true); FLAG_SET_CMDLINE(bool, ManagementServer, true);
#else
vm_exit_during_initialization(
"-Dcom.sun.management is not supported in this VM.", NULL);
#endif
} }
// -Xint // -Xint
} else if (match_option(option, "-Xint", &tail)) { } else if (match_option(option, "-Xint", &tail)) {
...@@ -2844,6 +2839,11 @@ SOLARIS_ONLY( ...@@ -2844,6 +2839,11 @@ SOLARIS_ONLY(
// away and will cause VM initialization failures! // away and will cause VM initialization failures!
warning("-XX:+UseVMInterruptibleIO is obsolete and will be removed in a future release."); warning("-XX:+UseVMInterruptibleIO is obsolete and will be removed in a future release.");
FLAG_SET_CMDLINE(bool, UseVMInterruptibleIO, true); 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 } else if (match_option(option, "-XX:", &tail)) { // -XX:xxxx
// Skip -XX:Flags= since that case has already been handled // Skip -XX:Flags= since that case has already been handled
if (strncmp(tail, "Flags=", strlen("Flags=")) != 0) { if (strncmp(tail, "Flags=", strlen("Flags=")) != 0) {
...@@ -3072,6 +3072,27 @@ do { \ ...@@ -3072,6 +3072,27 @@ do { \
} \ } \
} while(0) } 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 // Parse entry point called from JNI_CreateJavaVM
jint Arguments::parse(const JavaVMInitArgs* args) { jint Arguments::parse(const JavaVMInitArgs* args) {
...@@ -3187,28 +3208,15 @@ jint Arguments::parse(const JavaVMInitArgs* args) { ...@@ -3187,28 +3208,15 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
hotspotrc, hotspotrc); hotspotrc, hotspotrc);
} }
#if (defined JAVASE_EMBEDDED || defined ARM)
UNSUPPORTED_OPTION(UseG1GC, "G1 GC");
#endif
#ifdef _ALLBSD_SOURCE // UseLargePages is not yet supported on BSD. #ifdef _ALLBSD_SOURCE // UseLargePages is not yet supported on BSD.
UNSUPPORTED_OPTION(UseLargePages, "-XX:+UseLargePages"); UNSUPPORTED_OPTION(UseLargePages, "-XX:+UseLargePages");
#endif #endif
#if !INCLUDE_ALL_GCS #if INCLUDE_ALL_GCS
if (UseParallelGC) { #if (defined JAVASE_EMBEDDED || defined ARM)
warning("Parallel GC is not supported in this VM. Using Serial GC."); UNSUPPORTED_OPTION(UseG1GC, "G1 GC");
} #endif
if (UseParallelOldGC) { #endif
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
#ifndef PRODUCT #ifndef PRODUCT
if (TraceBytecodesAt != 0) { if (TraceBytecodesAt != 0) {
......
...@@ -24,9 +24,7 @@ ...@@ -24,9 +24,7 @@
#include "precompiled.hpp" #include "precompiled.hpp"
#include "utilities/macros.hpp" #include "utilities/macros.hpp"
#if INCLUDE_ALL_GCS
#include "utilities/yieldingWorkgroup.hpp" #include "utilities/yieldingWorkgroup.hpp"
#endif // INCLUDE_ALL_GCS
// Forward declaration of classes declared here. // Forward declaration of classes declared here.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册