109 Commits

Author SHA1 Message Date
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
Daniel D. Daugherty
05b3bc59c3 Merge 2013-03-23 22:35:02 -07:00
Stefan Karlsson
2f7b91d2f5 Merge 2013-03-22 10:32:21 +01:00
Mikael Gerdin
6bec5bf02c 8004241: NPG: Metaspace occupies more memory than specified by -XX:MaxMetaspaceSize option
Enforce MaxMetaspaceSize for both metaspace parts, check MaxMetaspaceSize against "reserved", not "capacity"

Reviewed-by: jmasa, johnc
2013-03-21 09:07:43 +01:00
Coleen Phillimore
e21f2d67e1 8008217: CDS: Class data sharing limits the malloc heap on Solaris
In 64bit VM move CDS archive address to 32G on all platforms using new flag SharedBaseAddress.  In 32bit VM set CDS archive address to 3Gb on Linux and let other OSs pick the address.

Reviewed-by: kvn, dcubed, zgu, hseigel
2013-03-20 08:04:54 -04:00
Stefan Karlsson
d4f955a545 Merge 2013-03-18 09:34:58 +01:00
Daniel D. Daugherty
58cc8b00f9 Merge 2013-03-17 08:57:56 -07:00
Zhengyu Gu
10a02b0e2c 8009614: nsk/split_verifier/stress/ifelse/ifelse002_30 fails with 'assert((size & (granularity - 1)) == 0) failed: size not aligned to os::vm_allocation_granularity()
Align up vm allocation size to os defined granularity

Reviewed-by: dholmes, coleenp
2013-03-15 11:53:28 -04:00
Stefan Karlsson
35177d7db2 Merge 2013-03-15 08:57:55 +01:00
Mikael Gerdin
a4a4c34e96 8005602: NPG: classunloading does not happen while CMS GC with -XX:+CMSClassUnloadingEnabled is used
Call purge() on CLDG after sweep(), reorder purge() call in GenCollectedHeap

Reviewed-by: jmasa, stefank
2013-03-14 10:54:44 +01:00
Mikael Gerdin
1aa6c27298 8009282: Assertion "assert(used_and_free == capacity_bytes) failed: Accounting is wrong" failed with -XX:+Verbose -XX:+TraceMetadataChunkAllocation
Assertion is only valid when at a safepoint, adjust accordingly.

Reviewed-by: stefank, jmasa, tamao
2013-03-12 09:42:24 +01:00
Coleen Phillimore
addd95f165 8003553: NPG: metaspace objects should be zeroed in constructors
Zero metadata in constructors, not in allocation (and some in constructors)

Reviewed-by: jmasa, sspitsyn
2013-03-08 11:47:57 -05:00
Jon Masamitsu
c727c73cce 8005452: NPG: Create new flags for Metaspace resizing policy
Reviewed-by: johnc, jwilhelm, coleenp, stefank
2013-01-23 19:08:04 -08:00
Mikael Vidstedt
26b2bbe306 8007257: NPG: metaspace.cpp: Incorrect arguments in calls to err_msg
Fix size checks in assert and corrected some print formats. Also reviewed by vitalyd@gmail.com.

Reviewed-by: coleenp, sspitsyn
2013-02-01 17:21:53 -08:00
Jon Masamitsu
86dd796322 8005486: NPG: Incorrect assertion in ChunkManager::list_index()
Reviewed-by: coleenp
2012-12-26 15:05:30 -08:00
Jon Masamitsu
e8b3b89264 8005082: NPG: Add specialized Metachunk sizes for reflection and anonymous classloaders
Reviewed-by: johnc, coleenp
2012-12-03 15:09:39 -08:00
Stefan Karlsson
da4c36cdcb 8005108: NPG: MetaspaceAux::used_in_bytes(), capacity_in_bytes() and reserved_in_bytes() return inconsistent numbers
Reverted the changes to these functions from JDK-8000662

Reviewed-by: brutisso, jmasa
2012-12-18 10:40:51 +01:00
Jon Masamitsu
e74d551608 8003554: NPG: move Metablock and Metachunk code out of metaspace.cpp
Reviewed-by: coleenp
2012-11-29 10:09:04 -08:00
John Cuthbertson
6c0bf79f7a Merge 2012-11-30 12:01:34 -08:00
Coleen Phillimore
7aa43fc5d8 8000662: NPG: nashorn ant clean test262 out-of-memory with Java heap
Add ClassLoaderData object for each anonymous class with metaspaces to allocate in.

Reviewed-by: twisti, jrose, stefank
2012-11-29 16:50:29 -05:00
Coleen Phillimore
6538c5134b 8003635: NPG: AsynchGetCallTrace broken by Method* virtual call
Make metaspace::contains be lock free and used to see if something is in metaspace, also compare Method* with vtbl pointer.

Reviewed-by: dholmes, sspitsyn, dcubed, jmasa
2012-11-28 17:50:21 -05:00