Commit graph

740 commits

Author SHA1 Message Date
Jon Masamitsu
ce2d714a66 Merge 2013-08-27 18:55:33 -07:00
Jon Masamitsu
a984bd23ad Merge 2013-08-23 15:59:20 -07:00
Jon Masamitsu
892e74a87e Merge 2013-08-22 11:13:17 -07:00
Bengt Rutisson
120ca47539 Merge 2013-08-22 04:14:45 +02:00
Bengt Rutisson
4c3c3b6caa 8022872: G1: Use correct GC cause for young GC triggered by humongous allocations
Reviewed-by: tonyp, tschatzl
2013-08-21 22:35:56 +02:00
Jon Masamitsu
d0aa753d99 8022817: CMS should not shrink if compaction was not done
Reviewed-by: ysr, mgerdin
2013-08-16 06:12:46 -07: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
Jon Masamitsu
9354b09906 8021809: Partitioning based on eden sampling during allocation not reset correctly
Reviewed-by: ysr, hiroshi
2013-08-14 19:52:16 -07:00
Bengt Rutisson
5e41090120 8023145: G1: G1CollectedHeap::mark_strong_code_roots() needs to handle ParallelGCThreads=0
Reviewed-by: stefank, mgerdin
2013-08-16 11:26:09 +02:00
Bengt Rutisson
befd51708b Merge 2013-08-15 13:02:42 -07:00
John Cuthbertson
f63547bf71 7145569: G1: optimize nmethods scanning
Add a list of nmethods to the RSet for a region that contain references into the region. Skip scanning the code cache during root scanning and scan the nmethod lists during RSet scanning instead.

Reviewed-by: tschatzl, brutisso, mgerdin, twisti, kvn
2013-08-15 10:52:18 +02:00
Bengt Rutisson
253681b976 Merge 2013-08-14 10:55:45 +02:00
Bengt Rutisson
19ba466575 8022800: Use specific generations rather than generation iteration
Reviewed-by: jmasa, ehelin
2013-08-14 09:02:32 +02:00
Erik Helin
b42a7171ab 8020598: ObjectCountEventSender::send needs INCLUDE_TRACE guards when building OpenJDK with INCLUDE_TRACE=0
Reviewed-by: stefank, brutisso, sjohanss
2013-08-13 18:16:19 +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
Bengt Rutisson
fbf4750c28 8022051: G1: Remove some unused G1 flags
Reviewed-by: tschatzl, jmasa
2013-08-01 17:29:49 +02:00
Bengt Rutisson
a1e1caf8ba 8021879: G1: G1HeapRegionSize flag value not updated correctly
Reviewed-by: tschatzl, jmasa
2013-08-01 09:35:04 +02:00
Hiroshi Yamauchi
6060a2999c 6412968: CMS Long initial mark pauses
Reviewed-by: rasbold, tschatzl, jmasa
2013-07-25 11:07:23 -07:00
Hiroshi Yamauchi
5c9dbad612 6990419: CMS Remaining work for 6572569: consistently skewed work distribution in (long) re-mark pauses
Reviewed-by: rasbold, tschatzl, jmasa
2013-07-23 09:49:11 -07:00
Tao Mao
4b6898af4a Merge 2013-07-15 15:14:58 -07:00
Tao Mao
2e0f5d85ff Merge 2013-07-11 11:45:09 -07:00
Bengt Rutisson
0f82640543 8020155: PSR:PERF G1 not collecting old regions when humongous allocations interfer
Take _last_young_gc into account when deciding on starting a concurrent mark. Also reviewed-by: per.liden@oracle.com.

Reviewed-by: tschatzl, johnc
2013-07-11 11:33:27 +02:00
Jiangli Zhou
536e85289d Merge 2013-07-08 14:21:20 -04:00
Jiangli Zhou
b454ece6d7 7133260: AllocationProfiler uses space in metadata and doesn't seem to do anything useful
Remove -Xaprof and Klass::_alloc_count & ArrayKlass::_alloc_size.

Reviewed-by: stefank, coleenp
2013-07-03 17:26:59 -04:00
John Cuthbertson
f93ee2a9dd 8017070: G1: assert(_card_counts[card_num] <= G1ConcRSHotCardLimit) failed
The assert is invalid when a card is being refined by two different threads and its count crosses the hot threshold - the refinement count will be updated once by each thread triggering the assert. Remove the assert and update the count using a bounded expression.

Reviewed-by: jmasa, tamao, brutisso
2013-07-01 09:30:23 -07:00
Per Liden
36967c98e4 8014022: G1: Non Java threads should lock the shared SATB queue lock without safepoint checks
Reviewed-by: tschatzl, brutisso, jmasa, ysr
2013-06-30 21:42:07 +02:00
Erik Helin
62be1fc827 Merge 2013-06-27 10:56:10 +02:00
Jon Masamitsu
ca3a1be3fe 8014851: UseAdaptiveGCBoundary is broken
Reviewed-by: tschatzl, brutisso
2013-06-25 15:17:11 -07:00
Coleen Phillimore
39a1c1d6c2 8016325: JVM hangs verifying system dictionary
Minimize redundant verifications of Klasses.

Reviewed-by: hseigel, jmasa
2013-06-24 18:55:46 -04:00
Erik Helin
774e23fae7 Merge 2013-06-20 10:03:58 +02:00
Vladimir Kempik
053da424c7 8015903: Format issue with -XX:+PrintAdaptiveSizePolicy on JDK8
Missing linebreak in hotspot log.

Reviewed-by: brutisso, tschatzl
2013-06-19 06:09:46 -07:00
Erik Helin
2eab1610b0 8015683: object_count_after_gc should have the same timestamp for all events
Reviewed-by: mgerdin, stefank
2013-06-12 15:21:41 +02:00
Erik Helin
f9c8b8769a 8016170: GC id variable in gcTrace.cpp should use typedef GCId
Reviewed-by: johnc, jwilhelm, jmasa
2013-06-12 15:50:14 +02:00
Daniel D. Daugherty
72a51a0c44 8013057: assert(_needs_gc || SafepointSynchronize::is_at_safepoint()) failed: only read at safepoint
Detect mmap() commit failures in Linux and Solaris os::commit_memory() impls and call vm_exit_out_of_memory(). Add os::commit_memory_or_exit(). Also tidy up some NMT accounting and some mmap() return value checking.

Reviewed-by: zgu, stefank, dholmes, dsamersoff
2013-06-13 11:16:38 -07:00
Staffan Larsen
718f3252f6 8005849: JEP 167: Event-Based JVM Tracing
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Bengt Rutisson <bengt.rutisson@oracle.com>
Co-authored-by: Calvin Cheung <calvin.cheung@oracle.com>
Co-authored-by: Erik Gahlin <erik.gahlin@oracle.com>
Co-authored-by: Erik Helin <erik.helin@oracle.com>
Co-authored-by: Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>
Co-authored-by: Keith McGuigan <keith.mcguigan@oracle.com>
Co-authored-by: Mattias Tobiasson <mattias.tobiasson@oracle.com>
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Co-authored-by: Mikael Auno <mikael.auno@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Co-authored-by: Nils Loodin <nils.loodin@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: acorn, coleenp, sla
2013-06-10 11:30:51 +02:00
Erik Helin
74f190f320 8015972: Refactor the sending of the object count after GC event
Reviewed-by: brutisso, pliden
2013-06-05 09:44:03 +02:00
John Cuthbertson
e8c0cab6ac Merge 2013-06-04 14:00:16 -07:00
John Cuthbertson
c3d6abc4e1 8015244: G1: Verification after a full GC is incorrectly placed
In a full GC, move the verification after the GC to after RSet rebuilding. Verify RSet entries during a full GC under control of a flag.

Reviewed-by: tschatzl, brutisso
2013-06-04 10:04:06 -07:00
Tao Mao
07ed2c141f 6976350: G1: deal with fragmentation while copying objects during GC
Create G1ParGCAllocBufferContainer to contain two buffers instead of previously using one buffer, in order to hold the first priority buffer longer. Thus, when some large objects hits the value of free space left in the first priority buffer it has an alternative to fit in the second priority buffer while the first priority buffer is given more chances to try allocating smaller objects. Overall, it will improve heap space efficiency.

Reviewed-by: johnc, jmasa, brutisso
2013-06-03 14:37:13 -07:00
Stefan Karlsson
70f22c649b 8022880: False sharing between PSPromotionManager instances
Pad the PSPromotionManager instances in the manager array.

Reviewed-by: brutisso, jmasa
2013-05-31 14:32:44 +02:00
Thomas Schatzl
54964edefa 8013895: G1: G1SummarizeRSetStats output on Linux needs improvemen
Fixed the output of G1SummarizeRSetStats: too small datatype for the number of concurrently processed cards, added concurrent remembered set thread time retrieval for Linux and Windows (BSD uses os::elapsedTime() now), and other cleanup. The information presented during VM operation is now relative to the previous output, not always cumulative if G1SummarizeRSetStatsPeriod > 0. At VM exit, the code prints a cumulative summary.

Reviewed-by: johnc, jwilhelm
2013-05-28 09:32:06 +02:00
Stefan Karlsson
c39235c377 8015486: PSScavenge::is_obj_in_young is unnecessarily slow with UseCompressedOops
Compare compressed oops to a compressed young gen boundary instead of uncompressing the oops before doing the young gen boundary check.

Reviewed-by: brutisso, jmasa
2013-05-30 10:58:16 +02:00
John Coomes
de314e391b 6725714: par compact - add a table to speed up bitmap searches
Reviewed-by: jmasa, tschatzl
2013-05-30 13:04:51 -07:00
Stefan Karlsson
c13149ab8d 8015422: Large performance hit when the StringTable is walked twice in Parallel Scavenge
Combine the calls to StringTable::unlink and StringTable::oops_do in Parallel Scavenge.

Reviewed-by: pliden, coleenp
2013-05-27 12:58:42 +02:00
Stefan Karlsson
2ccd92e927 8015268: NPG: 2.5% regression in young GC times on CRM Sales Opty
Split SystemDictionary and ClassLoaderDataGraph root processing to help load balancing.

Reviewed-by: tschatzl, johnc
2013-05-27 15:22:59 +02:00
Tao Mao
1e80919f4c 8007762: Rename a bunch of methods in size policy across collectors
Rename: compute_generations_free_space() = compute_eden_space_size() + compute_old_gen_free_space(); update related logging messages

Reviewed-by: jmasa, johnc, tschatzl, brutisso
2013-05-22 11:11:47 -07:00
Bengt Rutisson
0be2f273c7 8014971: Minor code cleanup of the freelist management
Reviewed-by: jwilhelm, jmasa, tschatzl
2013-05-22 08:04:58 +02:00
Thomas Schatzl
b33547e347 8014405: G1: PerRegionTable::fl_mem_size() calculates size of the free list using wrong element sizes
Instead of using a simple sizeof(), ask the PerRegionTable class about its size when iterating over the free list.

Reviewed-by: jwilhelm, brutisso
2013-05-21 11:30:14 +02:00
Bengt Rutisson
8d3d35b861 7066063: CMS: "Conservation Principle" assert failed
Add call to coalBirth() in CompactibleFreeListSpace::reset()

Reviewed-by: ysr, jmasa
2013-05-21 08:50:20 +02:00
Tao Mao
47c64fb0c3 7186737: Unable to allocate bit maps or card tables for parallel gc for the requested heap
Print helpful error message when VM aborts due to inability of allocating bit maps or card tables

Reviewed-by: jmasa, stefank
2013-05-20 10:44:33 -07:00