comparison src/share/vm/runtime/arguments.cpp @ 1626:1a11430e0326

6888573: class data sharing does not always disable large pages Reviewed-by: phh
author jcoomes
date Thu, 24 Jun 2010 15:38:42 -0700
parents e9ff18c4ace7
children c5f1ea9e15e8
comparison
equal deleted inserted replaced
1625:3e351982aac7 1626:1a11430e0326
1695 FLAG_SET_DEFAULT(UseGCOverheadLimit, false); 1695 FLAG_SET_DEFAULT(UseGCOverheadLimit, false);
1696 } 1696 }
1697 1697
1698 status = status && verify_percentage(GCHeapFreeLimit, "GCHeapFreeLimit"); 1698 status = status && verify_percentage(GCHeapFreeLimit, "GCHeapFreeLimit");
1699 1699
1700 // Check user specified sharing option conflict with Parallel GC 1700 // Check whether user-specified sharing option conflicts with GC or page size.
1701 bool cannot_share = ((UseConcMarkSweepGC || CMSIncrementalMode) || UseG1GC || UseParNewGC || 1701 // Both sharing and large pages are enabled by default on some platforms;
1702 UseParallelGC || UseParallelOldGC || 1702 // large pages override sharing only if explicitly set on the command line.
1703 SOLARIS_ONLY(UseISM) NOT_SOLARIS(UseLargePages)); 1703 const bool cannot_share = UseConcMarkSweepGC || CMSIncrementalMode ||
1704 1704 UseG1GC || UseParNewGC || UseParallelGC || UseParallelOldGC ||
1705 UseLargePages && FLAG_IS_CMDLINE(UseLargePages);
1705 if (cannot_share) { 1706 if (cannot_share) {
1706 // Either force sharing on by forcing the other options off, or 1707 // Either force sharing on by forcing the other options off, or
1707 // force sharing off. 1708 // force sharing off.
1708 if (DumpSharedSpaces || ForceSharedSpaces) { 1709 if (DumpSharedSpaces || ForceSharedSpaces) {
1709 jio_fprintf(defaultStream::error_stream(), 1710 jio_fprintf(defaultStream::error_stream(),
1710 "Reverting to Serial GC because of %s\n", 1711 "Using Serial GC and default page size because of %s\n",
1711 ForceSharedSpaces ? " -Xshare:on" : "-Xshare:dump"); 1712 ForceSharedSpaces ? "-Xshare:on" : "-Xshare:dump");
1712 force_serial_gc(); 1713 force_serial_gc();
1713 FLAG_SET_DEFAULT(SOLARIS_ONLY(UseISM) NOT_SOLARIS(UseLargePages), false); 1714 FLAG_SET_DEFAULT(UseLargePages, false);
1714 } else { 1715 } else {
1715 if (UseSharedSpaces && Verbose) { 1716 if (UseSharedSpaces && Verbose) {
1716 jio_fprintf(defaultStream::error_stream(), 1717 jio_fprintf(defaultStream::error_stream(),
1717 "Turning off use of shared archive because of " 1718 "Turning off use of shared archive because of "
1718 "choice of garbage collector or large pages\n"); 1719 "choice of garbage collector or large pages\n");
1719 } 1720 }
1720 no_shared_spaces(); 1721 no_shared_spaces();
1721 } 1722 }
1723 } else if (UseLargePages && (UseSharedSpaces || DumpSharedSpaces)) {
1724 FLAG_SET_DEFAULT(UseLargePages, false);
1722 } 1725 }
1723 1726
1724 status = status && check_gc_consistency(); 1727 status = status && check_gc_consistency();
1725 1728
1726 if (_has_alloc_profile) { 1729 if (_has_alloc_profile) {