746 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
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
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
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
Jesper Wilhelmsson
ed64a49836 Merge 2013-05-19 20:31:30 +02:00
Andreas Eriksson
f65caabf9c 7176220: 'Full GC' events miss date stamp information occasionally
Move date stamp logic into GCTraceTime

Reviewed-by: brutisso, tschatzl
2013-05-17 17:24:20 +02:00
Marcus Larsson
89dca54c74 8062943: REDO - Parallelize clearing the next mark bitmap
Reviewed-by: kbarrett, tschatzl
2014-11-25 11:59:55 +01: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
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
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
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
Mikael Gerdin
0393fa9b49 Merge 2013-04-11 16:35:34 +02: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
Mikael Gerdin
bd3eb2abf6 Merge 2013-04-16 12:46:24 +02:00
John Cuthbertson
9fba6da283 Merge 2013-04-11 10:20:00 -07:00
John Cuthbertson
fa3b993423 8010780: G1: Eden occupancy/capacity output wrong after a full GC
Move the calculation and recording of eden capacity to the start of a GC and print a detailed heap transition for full GCs.

Reviewed-by: tschatzl, jmasa
2013-04-10 10:57:34 -07:00
John Cuthbertson
9c89e6d28a 8010463: G1: Crashes with -UseTLAB and heap verification
Some parts of the G1 heap can only be walked during a safepoint. Skip verifying these parts of the heap when verifying during JVM startup.

Reviewed-by: brutisso, tschatzl
2013-03-29 13:49:37 -07:00
Mikael Gerdin
89120e7827 7014552: gc/lock/jni/jnilockXXX works too slow on 1-processor machine
Keep a counter of how many times we were stalled by the GC locker, add a diagnostic flag which sets the limit.

Reviewed-by: brutisso, ehelin, johnc
2013-03-28 10:27:28 +01:00
John Cuthbertson
a8087d1cb6 8008301: G1: guarantee(satb_mq_set.completed_buffers_num() == 0) failure
If the marking stack overflows while the marking tasks are draining the SATB buffers, remark will exit with some SATB buffers left unprocessed. Relax the guarantee to allow for overflow.

Reviewed-by: jmasa, brutisso
2013-03-19 09:38:37 -07:00
John Cuthbertson
9164834d73 8009940: G1: assert(_finger == _heap_end) failed, concurrentMark.cpp:809
Skip reference processing if the global marking stack overflows during remark. Refactor and rename set_phase(); move code that sets the concurrency level into its own routine. Do not call set_phase() from within parallel reference processing; use the concurrency level routine instead. The marking state should only set reset by CMTask[0] during the concurrent phase of the marking cycle; if an overflow occurs at any stage during the remark, the marking state will be reset after reference processing.

Reviewed-by: brutisso, jmasa
2013-03-19 00:57:39 -07:00
John Cuthbertson
d41c0fce7f 8009536: G1: Apache Lucene hang during reference processing
In CMTask::do_marking_step(), Skip offering termination and entering the first and second synchronization barriers if called from a serial context, i.e. the VM thread.

Reviewed-by: brutisso, tschatzl
2013-03-18 11:05:27 -07:00
Stefan Karlsson
35177d7db2 Merge 2013-03-15 08:57:55 +01:00
Joseph Provino
a68c69fd65 Merge 2013-03-08 12:35:18 -05:00
Joseph Provino
e1f180f82e 8006498: #if <symbol> is wrong in the code
ASSERT and other symbols used incorrectly with #if are supposed to be defined or not.

Reviewed-by: dholmes, mikael
2013-03-06 13:46:55 -05:00
Tao Mao
4bec822d40 8008079: G1: Add nextObject routine to CMBitMapRO and replace nextWord
Update the task local finger to the start of the next object when marking aborts, in order to avoid the redundant scanning of all 0's when the marking task restarts, if otherwise updating to the next word. In addition, reuse the routine nextObject() in routine iterate().

Reviewed-by: johnc, ysr
2013-03-05 15:36:56 -08:00
John Cuthbertson
a3a42c48e8 8007036: G1: Too many old regions added to last mixed GC
Stop adding old regions to collection set when the remaining reclaimable bytes reaches, or goes below, G1HeapWastePercent. Changes were also reviewed by Vitaly Davidovich <vitalyd@gmail.com>.

Reviewed-by: brutisso
2013-03-04 12:42:14 -08: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
John Cuthbertson
eafc00bc25 8011724: G1: Stack allocate instances of HeapRegionRemSetIterator
Stack allocate instances of HeapRegionRemSetIterator during RSet scanning.

Reviewed-by: brutisso, jwilhelm
2013-04-18 10:09:23 -07:00
Stefan Karlsson
bdf829cf3e 8012687: Remove unused is_root checks and closures
Reviewed-by: tschatzl, jmasa
2013-04-22 20:27:36 +02:00
Poonam Bajaj
3720c9565f Merge 2013-02-26 08:58:20 -08:00
John Cuthbertson
fb8617f293 8007221: G1: concurrent phase durations do not state the time units ("secs")
Add timer units to concurrent marking phases where the units were missing.

Reviewed-by: jmasa, ysr
2013-02-22 11:01:01 -08:00
Vladimir Kempik
050d7c9d90 8008546: Wrong G1ConfidencePercent results in GUARANTEE(VARIANCE() > -1.0) FAILED
Reviewed-by: brutisso, johnc
2013-02-21 23:58:05 -08:00