91 Commits

Author SHA1 Message Date
Calvin Cheung
1aa3da1067 8038268: VM Crashes in MetaspaceShared::generate_vtable_methods while creating CDS archive with limiting SharedMiscCodeSize
Estimate the minimum required size for the misc code region and check if the specified misc code region size meets the minimum size requirement

Reviewed-by: jiangli, dholmes
2014-10-23 10:08:02 -07:00
Erik Helin
6f4355a3a6 8049599: MetaspaceGC::_capacity_until_GC can overflow
Reviewed-by: jmasa, stefank
2014-10-01 16:09:01 +02:00
Calvin Cheung
e7456dcf86 8048150: Allow easy configurations for large CDS archives
Estimate the size of shared archive based on the number of classes in the classlist file

Reviewed-by: iklam, jiangli, minqi, dholmes
2014-08-25 00:13:36 -07:00
Ioi Lam
bbe6f51f81 8046070: Class Data Sharing clean up and refactoring
Cleaned up CDS to be more configurable, maintainable and extensible

Reviewed-by: dholmes, coleenp, acorn, mchung
2014-08-12 17:29:00 -07:00
Daniel D. Daugherty
d5b7b9ffe3 Merge 2014-06-10 20:24:48 -07:00
Staffan Larsen
8dc26f1a17 8044107: Add Diagnostic Command to list all ClassLoaders
Reviewed-by: mgerdin, stefank
2014-06-04 11:05:30 +02:00
Erik Helin
65cf6a8edc 8042933: assert(capacity_until_gc >= committed_bytes) failed
Reviewed-by: stefank, jmasa
2014-05-29 14:31:28 +02:00
Yumin Qi
49c3c35a14 8038422: CDS test failed: assert((size % os::vm_allocation_granularity()) == 0) failed when limiting SharedMiscDataSize
In debug version, the assert is against os::vm_allocation_granularity(), but in initialization, we use os::vm_page_size() to align the allocation size. In windows, _vm_page_size and _vm_allocation_granularity may not be same. In debug version, the assert is against os::vm_allocation_granularity(), but in initialization, we use os::vm_page_size() to align the allocation size. In windows, _vm_page_size and _vm_allocation_granularity may not be same.

Reviewed-by: dholmes, iklam, jiangli, coleenp
2014-05-27 08:44:23 -07:00
Coleen Phillimore
c336175c94 8038212: Method::is_valid_method() check has performance regression impact for stackwalking
Only prune metaspace virtual spaces at safepoint so walking them is safe outside a safepoint.

Reviewed-by: mgerdin, mgronlun, hseigel, stefank
2014-05-15 18:23:26 -04:00
David Chase
305ec3bd3f 8037816: Fix for 8036122 breaks build with Xcode5/clang
Repaired or selectively disabled offending formats; future-proofed with additional checking

Reviewed-by: kvn, jrose, stefank
2014-05-09 16:50:54 -04:00
Goetz Lindenmaier
6e6f0720a9 8042195: Introduce umbrella header orderAccess.inline.hpp
Reviewed-by: dholmes, kvn, stefank, twisti
2014-04-29 15:17:27 +02:00
Erik Helin
977d1f7a5d 8038934: Remove prefix allocated_ from methods and variables in Metaspace
Reviewed-by: jmasa, coleenp
2014-03-31 17:09:38 +02:00
Stefan Karlsson
8159b86e35 8037952: Remove code duplication in Metaspace::deallocate
Reviewed-by: tschatzl, pliden, coleenp
2014-03-20 15:03:18 +01:00
Erik Helin
853fffb2cb 8036703: Add trace event with statistics for the metaspace chunk free lists
Reviewed-by: stefank, mgerdin, coleenp, egahlin
2014-03-18 09:03:28 +01:00
Erik Helin
0a79ba6680 8036701: Add trace event when a metaspace throws out of memory error
Reviewed-by: stefank, mgerdin
2014-03-18 08:00:21 +01:00
Erik Helin
b533eca89d 8036699: Add trace event when a metaspace allocation fails
Reviewed-by: jmasa, stefank
2014-03-18 07:00:06 +01:00
Erik Helin
51584519f4 8036698: Add trace event for updates to metaspace gc threshold
Reviewed-by: stefank, mgerdin
2014-03-17 20:59:19 +01:00
Matthias Baesken
2b8f41202a 8034171: Remove use of template template parameters from binaryTreeDictionary
Reviewed-by: mgerdin, jmasa
2014-02-11 09:34:50 +01:00
Jesper Wilhelmsson
40ba2bba2c 8026849: Fix typos in the GC code, part 2
Fixed typos in assert messages, flag descriptions and verbose messages

Reviewed-by: stefank, tschatzl
2013-12-10 15:11:02 +01:00
Jesper Wilhelmsson
81ba2e32c0 8025856: Fix typos in the GC code
Fix about 440 typos in comments in the VM code

Reviewed-by: mgerdin, tschatzl, coleenp, kmo, jcoomes
2014-01-23 14:47:23 +01:00
Erik Helin
3cd01085cd 8031779: Assert in MetaspaceGC is always true
Reviewed-by: jmasa, jwilhelm
2014-01-16 17:22:35 +01:00
Morris Meyer
a665235538 Merge 2014-01-10 12:54:08 -08:00
Coleen Phillimore
469f290817 8029178: Parallel class loading test anonymous-simple gets SIGSEGV in Metaspace::contains
Metaspace::contains cannot look at purged metaspaces while CMS concurrently deallocates them.

Reviewed-by: mgerdin, sspitsyn, jmasa
2014-01-07 13:26:56 -05:00
Stefan Karlsson
0454a45a80 8029106: JVM crashes in Metachunk::Metachunk during parallel class redefinition (PrivateMLetController, anonymous-simple_copy_1)
Fixed overflow bug in VirtualSpaceNode::is_available

Reviewed-by: mgerdin, brutisso, coleenp, jmasa
2013-12-09 10:03:39 +01:00
Mikael Gerdin
90ed74aa8c Merge 2013-11-11 16:20:48 +01:00
Alejandro Murillo
2c2fcae7df Merge 2013-11-02 13:02:59 -07:00
Coleen Phillimore
535b489554 8027616: Off by one error in putback for compressed oops nashorn performance improvement
Should compare bounds greater than or equal 4G when deciding if shift is needed or CDS area + compressed class space are within 4G of each other.

Reviewed-by: stefank, hseigel, zgu
2013-10-31 14:11:02 -04:00
Calvin Cheung
bea255ee35 Merge 2013-10-25 22:06:43 -07:00
Coleen Phillimore
3e6630c07b 8024927: Nashorn performance regression with CompressedOops
Allocate compressed class space at end of Java heap.  For small heap sizes, without CDS, save some space so compressed classes can have the same favorable compression as oops

Reviewed-by: stefank, hseigel, goetz
2013-10-25 15:19:29 -04:00
Harold Seigel
bf7f4866eb 8026822: metaspace/flags/maxMetaspaceSize throws OOM of unexpected type.java.lang.OutOfMemoryError: Compressed class space
Incorporate chunk size when seeing if OutOfMemoryError was caused by Metaspace or Compressed class space.

Reviewed-by: stefank, coleenp
2013-10-25 11:05:32 -04:00
Jesper Wilhelmsson
5976b6915a 8026852: Use restricted_align_down in collector policy code
Moved restricted_align_down to globalDefinitions and renamed it align_size_down_bounded

Reviewed-by: stefank, mgerdin, tschatzl
2013-10-21 18:52:13 +02:00
Mikael Gerdin
376094224f 8026698: Incorrect error handling in Metaspace::allocate
Reviewed-by: stefank, jwilhelm
2013-10-18 09:31:59 +02:00
Stefan Karlsson
79199b95bc 8026715: Remove the MetaDataDeallocateALot develop flag
Reviewed-by: coleenp, mgerdin
2013-10-17 08:42:41 +02:00
Stefan Karlsson
f149d47720 8026391: The Metachunk header wastes memory
Reviewed-by: coleenp, jmasa
2013-10-15 14:28:51 +02:00
Mikael Gerdin
444a15a09f 8015255: NPG: Don't waste fragment at the end of a VirtualSpaceNode before retiring it
Chunk up the last piece of committed memory in a VSN when getting a new one.

Reviewed-by: stefank, jmasa
2013-10-15 13:56:46 +02:00
Stefan Karlsson
2cbd654963 8025996: Track metaspace usage when metaspace is expanded
Reviewed-by: coleenp, ehelin
2013-10-07 15:51:17 +02:00
Stefan Karlsson
55cbe80300 8024547: MaxMetaspaceSize should limit the committed memory used by the metaspaces
Reviewed-by: brutisso, jmasa, coleenp
2013-10-07 15:51:08 +02:00
Mikael Gerdin
27565b7f5d 8025279: metaspace/flags/maxMetaspaceSize throws OOM: out of Compressed Klass space
Only put "Compressed class space" as OOM cause if actually using Compressed class space

Reviewed-by: jwilhelm, stefank, ehelin, coleenp
2013-09-27 10:23:12 +02:00
Bengt Rutisson
dc5131c84d 8025228: assert(new_entry->reserved_words() == vs_word_size) fails in nightly
Reviewed-by: mgerdin, tschatzl, jmasa
2013-09-25 17:23:41 +02:00
Stefan Karlsson
22272f5043 8025096: Move the ChunkManager instances out of the VirtualSpaceLists
Reviewed-by: coleenp, mgerdin, jmasa
2013-09-21 10:09:42 +02:00
Stefan Karlsson
bbb009b580 8025059: Metspace::should_expand mixes bytes and words in check against MaxMetaspaceSize
Reviewed-by: coleenp, brutisso, mgerdin, jmasa
2013-09-20 11:00:38 +02:00
Stefan Karlsson
4d3c6221b7 8024752: Log TraceMetadata* output to gclog_or_tty instead of tty
Reviewed-by: brutisso, mgerdin, coleenp
2013-09-13 22:25:27 +02:00
Stefan Karlsson
9784317e8a 8024751: Fix bugs in TraceMetadata
Reviewed-by: jmasa, brutisso
2013-09-13 22:23:48 +02:00
Stefan Karlsson
d2d4036f85 8024651: Remove the incorrect usage of Metablock::overhead()
Reviewed-by: brutisso, mgerdin, coleenp, jmasa
2013-09-13 22:21:06 +02:00
Stefan Karlsson
8a515de48c 8024638: Count and expose the amount of committed memory in the metaspaces
Reviewed-by: brutisso, ehelin
2013-09-12 10:15:54 +02:00
Erik Helin
dfd2d9a574 8023476: Metaspace capacity > reserved
Reviewed-by: stefank, hseigel, mgerdin
2013-09-12 10:15:30 +02:00
Mikael Gerdin
1d97871624 8009561: NPG: Metaspace fragmentation when retiring a Metachunk
Use best-fit block-splitting freelist allocation from the block freelist.

Reviewed-by: jmasa, stefank
2013-09-11 09:37:14 +02:00
Erik Helin
30f059b5fc 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
2013-08-12 17:37:02 +02:00
Stefan Karlsson
7ade7987a0 8007074: SIGSEGV at ParMarkBitMap::verify_clear()
Replace the broken large pages implementation on Linux. New flag: -XX:+UseTransparentHugePages - Linux specific flag to turn on transparent huge page hinting with madvise(..., MAP_HUGETLB). Changed behavior: -XX:+UseLargePages - tries to use -XX:+UseTransparentHugePages before trying other large pages implementations (on Linux). Changed behavior: -XX:+UseHugeTLBFS - Use upfront allocation of Large Pages instead of using the broken implementation to dynamically committing large pages. Changed behavior: -XX:LargePageSizeInBytes - Turned off the ability to use this flag on Linux and provides warning to user if set to a value different than the OS chosen large page size. Changed behavior: Setting no large page size - Now defaults to use -XX:UseTransparentHugePages if the OS supports it. Previously, -XX:+UseHugeTLBFS was chosen if the OS was configured to use large pages.

Reviewed-by: tschatzl, dcubed, brutisso
2013-08-16 13:22:32 +02:00
Erik Helin
3ea9481c2f 8014659: NPG: performance counters for compressed klass space
Reviewed-by: mgerdin, coleenp, hseigel, jmasa, ctornqvi
2013-08-07 16:47:32 +02:00