956 Commits

Author SHA1 Message Date
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
d4f955a545 Merge 2013-03-18 09:34:58 +01:00
Stefan Karlsson
35177d7db2 Merge 2013-03-15 08:57:55 +01:00
Thomas Schatzl
e1df78e390 6733980: par compact - TraceGen1Time always shows 0.0000 seconds
Use the correct collector to retrieve accumulated gen1 trace time

Reviewed-by: johnc, jmasa
2013-03-14 09:37:38 +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
Jon Masamitsu
79c091f287 6976528: PS: assert(!limit_exceeded || softrefs_clear) failed: Should have been cleared
Reviewed-by: johnc
2013-03-12 11:00:49 -07:00
Thomas Schatzl
401d1f315d 8008684: CMS: concurrent phase start markers should always be printed
Print the concurrent phase start markers for CMS when PrintGCDetails is enabled, not only if both PrintGCDetails and PrintGCTimeStamps are.

Reviewed-by: mgerdin, jmasa
2013-03-12 15:10:39 +01:00
Stefan Karlsson
1e1174e0be 8004697: SIGSEGV on Solaris sparc with -XX:+UseNUMA
Don't scan pages outside the given range.

Reviewed-by: jwilhelm, jmasa
2013-03-11 02:24:01 -07:00
Kevin Walls
379967b492 Merge 2013-03-11 15:37:10 +01:00
Kevin Walls
a181e6d505 8009723: CMS logs "concurrent mode failure" twice when using (disabling) -XX:-UseCMSCompactAtFullCollection
Reviewed-by: jwilhelm, ehelin, brutisso
2013-03-11 12:56:00 +00:00
Stefan Karlsson
2242377c11 Merge 2013-03-11 08:49:53 +01:00
Joseph Provino
a68c69fd65 Merge 2013-03-08 12:35:18 -05:00
Stefan Karlsson
5e2fe0e935 Merge 2013-03-07 14:29:02 +01: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
Daniel D. Daugherty
af6002665d Merge 2013-03-01 15:59:10 -08:00
Mikael Vidstedt
960480c53d 8008081: Print outs do not have matching arguments
Corrected formatted prints to have matching arguments, removed dead print_frame_layout function

Reviewed-by: sla, dholmes
2013-02-26 08:54:03 -08:00
Bengt Rutisson
20bc6a3d8c Merge 2013-02-14 11:01:05 +01: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
Jon Masamitsu
ddbf6ad621 8012111: Remove warning about CMS generation shrinking
Reviewed-by: johnc, brutisso, stefank
2013-04-22 22:00:03 -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
Jon Masamitsu
fabb8c6e25 8008508: CMS does not correctly reduce heap size after a Full GC
Reviewed-by: johnc, ysr
2013-02-11 10:31:56 -08:00
Bengt Rutisson
8cf98587f7 Merge 2013-02-08 10:08:40 +01:00
Bill Pittore
9cad40fca6 Merge 2013-02-07 16:05:48 -05:00
Daniel D. Daugherty
d5cad58ba3 Merge 2013-02-06 15:22:32 -08: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
John Cuthbertson
c2bb152e6c 8005032: G1: Cleanup serial reference processing closures in concurrent marking
Reuse the parallel reference processing oop closures during serial reference processing.

Reviewed-by: brutisso
2013-02-05 09:13:05 -08:00
Jon Masamitsu
0b84b16b84 Merge 2013-02-04 13:26:04 -08:00
Jon Masamitsu
e13466742d Merge 2013-02-04 12:51:25 -08:00
Jon Masamitsu
83473ea55d Merge 2013-02-04 12:01:07 -08:00
Michal Frajt
9d47280d2a 7189971: Implement CMSWaitDuration for non-incremental mode of CMS
Reviewed-by: jmasa, johnc, ysr
2013-02-01 17:02:36 -08:00
John Cuthbertson
d701ede8bb 8006894: G1: Number of marking threads missing from PrintFlagsFinal output
Set ConcGCThreads to the calculated number of marking threads.

Reviewed-by: jmasa, ysr
2013-02-01 13:17:04 -08:00
John Cuthbertson
7d2ccf3a21 8005875: G1: Kitchensink fails with ParallelGCThreads=0
Check that the concurrent marking worker gang exists in ConcurrentMark::print_worker_threads_on(). Changes were also reviewed by Vitaly Davidovich <vitalyd@gmail.com>.

Reviewed-by: brutisso
2013-01-31 10:45:09 -08:00
Karen Kinnear
b28f16c910 Merge 2013-01-28 10:34:07 -05:00
Karen Kinnear
3f92d0764c Merge 2013-01-27 21:58:34 -05:00
Dean Long
0a2347e0ba Merge 2013-01-27 01:07:09 -08:00
Ioi Lam
93b845e21b 6479360: PrintClassHistogram improvements
Jcmd <pid> GC.class_stats (UnlockDiagnosticVMOptions)

Reviewed-by: coleenp, hseigel, sla, acorn
2013-01-25 15:06:18 -05:00
Yunda
19303cc71d 8005278: Serviceability Agent: jmap -heap and jstack -m fail
BinaryTreeDictionary is typedef'ed as AFLBinaryTreeDictionary in vmStructs and in SA we still use old name for that. FreeList now is a template based class which is not reflect in SA type library. When SA does calculation of heap for CMS, the former will cause failure to retrieve BinaryTreeDictionary  sine the rename. The later will fail wherever it is used in SA.

Reviewed-by: dholmes, sla, coleenp
2013-01-24 23:30:45 -08:00
Jon Masamitsu
354116da47 Merge 2013-01-24 06:04:43 -08:00
John Cuthbertson
251a9ff39c 8007772: G1: assert(!hr->isHumongous() || mr.start() == hr->bottom()) failed: the start of HeapRegion and MemRegion should be consistent for humongous regions
In do_marking_step(), we should always give up current region after scanning the object, if the region is humongous.

Reviewed-by: brutisso, jwilhelm, tamao
2013-02-11 15:24:48 -08:00