18 Commits

Author SHA1 Message Date
Thomas Schatzl
06bd79afed 8057003: Large reference arrays cause extremely long synchronization times
Slice large object arrays into parts so that the synchronization of marking threads with an STW pause request does not take long.

Reviewed-by: ehelin, pliden
2016-11-24 11:27:57 +01:00
Thomas Schatzl
94bbcbd378 8159422: Very high Concurrent Mark mark stack contention
Decrease contention on mark stack by splitting locks, and minimizing the amount of time these locks are held. Improve mark stack management.

Reviewed-by: kbarrett, mgerdin, eosterlund
2016-09-15 16:44:19 +02:00
Thomas Schatzl
1244572841 8160897: Concurrent mark mark stack memory allocation leaks memory
Fix and clean up concurrent mark mark stack memory allocation.

Reviewed-by: jmasa, sangheki
2016-07-15 13:33:44 +02:00
Thomas Schatzl
99c9a7f6f6 8155810: Bound the number of root region scan threads to the number of survivor regions
Reviewed-by: jmasa, sjohanss
2016-05-10 16:40:15 +02:00
Mikael Gerdin
512ffd9ded Merge 2016-05-04 10:06:00 +02:00
Stefan Karlsson
f8be292b88 8141501: Problems with BitMap buffer management
Reviewed-by: pliden, kbarrett
2016-05-03 22:45:27 +02:00
Mikael Gerdin
462ad706f1 8150721: Don't explicitly manage G1 young regions in YoungList
Reviewed-by: ehelin, sjohanss, tschatzl
2016-05-03 12:33:10 +02:00
Mikael Gerdin
8f81f1a52b 8150393: Maintain the set of survivor regions in an array between GCs
Reviewed-by: tschatzl, sjohanss
2016-04-27 16:11:45 +02:00
Derek White
1326ae31c8 8152905: hs_err file is missing gc threads
List the GC threads in the hs_err file in the "Other Threads" section

Reviewed-by: dcubed, coleenp
2016-04-13 17:00:54 -04:00
Thomas Schatzl
a009aa9ca7 8151386: Extract card live data out of G1ConcurrentMark
Move card live data management out of G1ConcurrentMark into extra class G1CardLiveData managed by G1RemSet

Reviewed-by: mgerdin, kbarrett
2016-04-06 13:41:59 +02:00
Thomas Schatzl
0c06163b35 8077144: Concurrent mark initialization takes too long
Remove per-marking thread liveness bitmaps and recreate liveness bitmap concurrently after the cleanup pause.

Reviewed-by: mgerdin, ehelin, kbarrett
2016-04-06 13:32:48 +02:00
Sangheon Kim
9f63ca85a7 8151085: Change G1 concurrent timer and tracer measuring time
Change measuring time for G1 concurrent phases and reporting heap summary

Reviewed-by: brutisso, sjohanss
2016-03-17 11:18:52 -07:00
Thomas Schatzl
0588ecf584 8151920: Region liveness printing is broken
Remove obsolete code that causes an assert.

Reviewed-by: drwhite, brutisso
2016-03-17 09:36:04 +01:00
Thomas Schatzl
ec207fe815 8151614: Improve logging in concurrent mark code
Move detailed concurrent mark phase logging to "gc, marking" tags and add a summary "Concurrent Cycle" log message when only using "gc" logging.

Reviewed-by: sangheki, brutisso
2016-03-16 12:23:13 +01:00
Thomas Schatzl
a3b16ac9eb 8151126: Clean up duplicate code for clearing the mark bitmaps
Merge the code to clear the mark bitmap concurrently and in the STW pause.

Reviewed-by: jmasa, tbenson
2016-03-16 12:21:18 +01:00
Sangheon Kim
5e641bdf7a 8149834: gc/shared/gcTimer.cpp:88 assert(_is_concurrent_phase_active) failed: A concurrent phase is not active
Compare-and-exchange for concurrent gc timer related flag at G1CollectedHeap

Reviewed-by: jmasa, drwhite
2016-03-07 02:11:47 -08:00
Bengt Rutisson
ad3fb1dbbd 8148992: VM can hang on exit if root region scanning is initiated but not executed
Reviewed-by: tschatzl, pliden, jwilhelm
2016-02-10 12:56:55 +01:00
Erik Helin
92143e58fa 8148973: Rename g1/concurrentMark.{hpp,cpp,inline.hpp} to g1/g1ConcurrentMark.{hpp,cpp,inline.hpp}
Reviewed-by: tschatzl, mgerdin
2016-02-05 16:03:56 +01:00