956 Commits

Author SHA1 Message Date
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
Jesper Wilhelmsson
ed64a49836 Merge 2013-05-19 20:31:30 +02:00
Erik Helin
0f9e2457c5 8014277: Remove ObjectClosure as base class for BoolObjectClosure
Reviewed-by: brutisso, tschatzl
2013-05-17 11:57:05 +02:00
Jesper Wilhelmsson
262b1413c1 Merge 2013-05-17 06:01:10 +02:00
John Cuthbertson
5838d847a1 8010738: G1: Output for full GCs with +PrintGCDetails should contain perm gen size/meta data change info
Include metaspace information (used, allocated, reserved) in the PrintGCDetails output for full GCs.

Reviewed-by: poonam, jmasa, brutisso
2013-05-16 09:24:26 -07:00
Thomas Schatzl
5ebe77bb6b 8014240: G1: Add remembered set size information to output of G1PrintRegionLivenessInfo
Improve the output of G1PrintRegionLivenessInfo by adding a per-region remembered set size information column

Reviewed-by: jwilhelm, johnc
2013-05-16 13:02:33 +02:00
John Cuthbertson
d583cdc253 8014408: G1: crashes with assert assert(prev_committed_card_num == _committed_max_card_num) failed
Mismatch in the card number calculation between next and previous committed sizes of the card counts table.

Reviewed-by: jmasa, tschatzl
2013-05-15 22:35:36 -07:00
Tao Mao
87b3317478 8007763: Refactoring: split up compute_generation_free_space() into two functions for class PSAdaptiveSizePolicy
Split up compute_generation_free_space() into two functions: compute_eden_space_size() + compute_old_gen_free_space(), each of which (if needed) can be reused without executing an overhead of the other.

Reviewed-by: jmasa, tschatzl
2013-05-15 10:41:22 -07:00
Thomas Schatzl
8d53e75550 6843347: Boundary values in some public GC options cause crashes
Setting some public integer options to specific values causes crashes or undefined GC behavior. This patchset adds the necessary argument checking for these options.

Reviewed-by: jmasa, brutisso
2013-05-15 11:05:09 +02:00
Yumin Qi
98151c30c8 8012902: remove use of global operator new - take 2
The fix of 8010992, disable use of global operator new and new[] which caused failure on some tests. This takes two of the bugs also add ALLOW_OPERATOR_NEW_USAGE to prevent crash for third party code calling operator new of jvm on certain platforms.

Reviewed-by: coleenp, dholmes, zgu
2013-05-14 09:41:12 -07:00
Yumin Qi
9a1cd52a0f Merge 2013-05-13 18:08:13 +00:00
Bengt Rutisson
d3a0a48fbb 8014339: Improve assert and remove some dead code from parMarkBitMap.hpp/cpp
Reviewed-by: stefank, tschatzl
2013-05-13 14:09:05 +02:00
Yumin Qi
c6aa9c656f 8003557: NPG: Klass* const k should be const Klass* k
With NPG, const KlassOop klass which is in fact a definition converted to Klass* const, which is not the original intention. The right usage is converting them to const Klass*.

Reviewed-by: coleenp, kvn
2013-05-10 08:27:30 -07:00
John Cuthbertson
c38f8fc543 7176479: G1: JVM crashes on T5-8 system with 1.5 TB heap
Refactor G1's hot card cache and card counts table into their own files. Simplify the card counts table, including removing the encoding of the card index in each entry. The card counts table now has a 1:1 correspondence with the cards spanned by heap. Space for the card counts table is reserved from virtual memory (rather than C heap) during JVM startup and is committed/expanded when the heap is expanded. Changes were also reviewed-by Vitaly Davidovich.

Reviewed-by: tschatzl, jmasa
2013-05-09 11:16:39 -07:00
Jon Masamitsu
bbff951f67 8013184: CMS: Call reset_after_compaction() only if a compaction has been done
Reviewed-by: mgerdin, johnc, tschatzl
2013-05-08 17:12:52 -07:00
Jon Masamitsu
973d0400c4 8013032: CMS: assert(used() == used_after_gc && used_after_gc <= capacity()) failed: used: 0 used_after_gc: 292080 capacity: 1431699456
Reviewed-by: tschatzl, mgerdin, johnc
2013-05-08 16:28:03 -07:00
Bengt Rutisson
a8ad116e49 8013872: G1: HeapRegionSeq::shrink_by() has invalid assert
Refactored shrink_by() to only use region counts and not byte sizes

Reviewed-by: johnc, tschatzl
2013-05-06 21:30:34 +02:00
Jesper Wilhelmsson
0c4933f5b0 Merge 2013-05-06 13:03:46 +02:00
Bengt Rutisson
36c195270d 8013791: G1: G1CollectorPolicy::initialize_flags() may set min_alignment > max_alignment
Make sure max alignemnt is at least as large as min alignment

Reviewed-by: johnc, jmasa, tschatzl
2013-05-06 09:16:14 +02:00
Mikael Gerdin
67b238b12d Merge 2013-05-02 19:28:59 +02:00
Calvin Cheung
0f7adcc3d9 8011661: Insufficient memory message says "malloc" when sometimes it should say "mmap"
Reviewed-by: coleenp, zgu, hseigel
2013-04-30 11:56:52 -07:00
Stefan Karlsson
ad20a6bd76 8013160: NPG: Remove unnecessary mark stack draining after CodeCache::do_unloading
Reviewed-by: coleenp, mgerdin
2013-04-26 10:40:36 +02:00
Stefan Karlsson
f0ae855b07 8013132: Add a flag to turn off the output of the verbose verification code
Reviewed-by: johnc, brutisso
2013-04-24 20:13:37 +02:00
Daniel D. Daugherty
2cb874268e Merge 2013-04-21 21:05:02 -07:00
Daniel D. Daugherty
138bab2963 8012907: anti-delta fix for 8010992
Anti-delta fix for 8010992 until 8012902 can be fixed

Reviewed-by: acorn, minqi, rdurbin
2013-04-21 20:41:04 -07:00
Daniel D. Daugherty
46b3969016 Merge 2013-04-19 16:51:27 -07:00
Yumin Qi
735ab2cd1c 8010992: Remove calls to global ::operator new[] and new
Disable use of global operator new and new[] which could cause unexpected exception and escape from NMT tracking.

Reviewed-by: coleenp, dholmes, zgu
2013-04-19 11:08:52 -07:00
Bharadwaj Yadavalli
824a51963f Merge 2013-04-18 16:04:33 -07:00
Mikael Gerdin
0393fa9b49 Merge 2013-04-11 16:35:34 +02:00
David Chase
55c4ce1ca1 7104565: trim jprt build targets
Remove JPRT debug builds, remove -DDEBUG -DFASTDEBUG and use ASSERT instead in sources

Reviewed-by: dholmes, kvn, coleenp
2013-04-12 15:53:30 -07:00
Stefan Karlsson
e96efdaa1a 8011872: Include Bit Map addresses in the hs_err files
Reviewed-by: brutisso, jmasa
2013-04-10 14:26:49 +02:00
Daniel D. Daugherty
78339229bb Merge 2013-04-05 10:38:08 -07:00
Mikael Vidstedt
eeb83733a6 8003310: Enable -Wunused-function when compiling with gcc
Add the -Wunused-function flag and remove a number of unused functions.

Reviewed-by: dholmes, coleenp, kvn
2013-04-04 10:01:26 -07:00
Thomas Schatzl
45cc7f61db 8005857: assert in GC_locker from PSOldGen::expand with -XX:+PrintGCDetails and Verbose
Use GC_locker::is_active_and_needs_gc() instead of GC_locker::is_active() for providing information about the reason of heap expansion.

Reviewed-by: jmasa, johnc
2013-04-02 10:03:02 +02:00
Mikael Gerdin
bd3eb2abf6 Merge 2013-04-16 12:46:24 +02:00