79 Commits

Author SHA1 Message Date
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
Harold Seigel
4d91f4e69d 8003424: Enable Class Data Sharing for CompressedOops
8016729: ObjectAlignmentInBytes=16 now forces the use of heap based compressed oops
8005933: The -Xshare:auto option is ignored for -server

Move klass metaspace above the heap and support CDS with compressed klass ptrs.

Reviewed-by: coleenp, kvn, mgerdin, tschatzl, stefank
2013-08-15 20:04:10 -04:00
Frederic Parain
b4094e9fa8 8019845: Memory leak during class redefinition
Reviewed-by: acorn, jmasa, coleenp, dcubed, mgerdin
2013-07-26 15:24:32 +00:00
Coleen Phillimore
4ecee47075 Merge 2013-07-02 16:54:24 +02:00
Coleen Phillimore
1e7c006d39 8015391: NPG: With -XX:+UseCompressedKlassPointers OOME due to exhausted metadata space could occur when metaspace is almost empty
Allocate medium chunks for class metaspace when class loader has lots of classes

Reviewed-by: mgerdin, jmasa
2013-07-02 08:42:37 -04:00
Erik Helin
604a75ff30 8013590: NPG: Add a memory pool MXBean for Metaspace
Reviewed-by: jmasa, mgerdin
2013-06-26 16:58:37 +02:00
Jon Masamitsu
a154f7c01e 8014546: MetaspaceAux print_metaspace_change() should print "used" after GC not capacity
Reviewed-by: johnc, tschatzl
2013-06-25 09:58:26 -07:00
Ioi Lam
9dc36eb923 8014912: Restore PrintSharedSpaces functionality after NPG
Added dumping of object sizes in CDS archive, sorted by MetaspaceObj::Type

Reviewed-by: coleenp, acorn
2013-05-28 16:36:19 -07:00
Jon Masamitsu
c7a9104bb7 8014862: Add fast Metasapce capacity and used per MetadataType
Reviewed-by: ehelin, stefank
2013-05-20 22:34:24 -07:00
Mikael Gerdin
40531b2009 8013129: Possible deadlock with Metaspace locks due to mixed usage of safepoint aware and non-safepoint aware locking
Change Metaspace::deallocate to take lock with _no_safepoint_check_flag

Reviewed-by: coleenp, jmasa, dholmes
2013-04-29 13:07:27 +02:00
Jon Masamitsu
d72b516201 8008966: NPG: Inefficient Metaspace counter functions cause large young GC regressions
Reviewed-by: mgerdin, coleenp
2013-02-12 14:15:45 -08:00
Jon Masamitsu
e1cbb28f3f 8011268: NPG: Free unused VirtualSpaceNodes
Reviewed-by: mgerdin, coleenp, johnc
2013-03-01 10:19:29 -08:00
Jon Masamitsu
7f78a7f475 8011173: NPG: Replace the ChunkList implementation with class FreeList<Metachunk>
Reviewed-by: mgerdin, tschatzl, johnc, coleenp
2013-04-01 10:50:30 -07:00