79 Commits

Author SHA1 Message Date
Thomas Schatzl
92a1acb43b 8071280: Specialize HeapRegion::oops_on_card_seq_iterate_careful() for use during concurrent refinement and updating the rset
Reviewed-by: kbarrett, sangheki, ehelin
2017-06-02 13:45:15 +02:00
Kim Barrett
5fb44c25c7 8169517: WhiteBox should provide concurrent GC phase control
Added WhiteBox API and G1 implementation.

Reviewed-by: shade, dfazunen
2017-04-13 16:38:39 -04:00
Stefan Johansson
d11fb72564 8171238: Unify cleanup code used in G1 Remark and Full GC marking
Reviewed-by: tschatzl, pliden
2017-03-24 10:27:04 +01:00
Thomas Schatzl
6a9ca1701d 8155094: Add logging for long lasting methods found in JDK-8152948
Adds logging for DerivedPointerTable, TLAB preparation and resizing, and new collection set setup work

Reviewed-by: kbarrett, sangheki
2017-03-16 09:05:20 +01:00
Thomas Schatzl
3b93aefe93 8162104: Use in_cset() instead of obj_in_cs()
Reviewed-by: ehelin, sjohanss
2017-02-23 10:19:05 +01:00
Thomas Schatzl
317f1aa044 8157952: Parallelize Memory Pretouch
Use multiple threads to pretouch memory using -XX:+AlwaysPreTouch to use more memory bandwidth

Reviewed-by: jmasa, sangheki
2016-09-16 11:33:47 +02:00
Kim Barrett
66706edf15 8156500: Move Reference pending list into VM to prevent deadlocks
Move reference pending list and locking into VM

Co-authored-by: Per Liden <per.liden@oracle.com>
Reviewed-by: coleenp, dholmes, dcubed, mchung, plevart
2016-08-30 23:48:16 -04:00
Thomas Schatzl
ada5ab192f 8034842: Parallelize the Free CSet phase in G1
Reviewed-by: jmasa, ehelin
2016-07-19 10:31:41 +02:00
Thomas Schatzl
7fd90042ca 8159978: Use an array to store the collection set regions instead of linking through regions
Fix a potential problem with memory visibility in the sampling thread in the collection set by changing the way we store the collection set.

Reviewed-by: ehelin, jmasa
2016-07-06 11:22:55 +02:00
Mikael Gerdin
9cad8a6125 8155943: Move G1Eden/SurvivorRegions into their own source files
Reviewed-by: sjohanss, ehelin
2016-05-04 13:12:23 +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
Kim Barrett
c4bafa7975 8155524: HotCardCache shouldn't be part of ConcurrentG1Refine
Make G1CollectedHeap owner of HotCardCache.

Reviewed-by: jmasa, mgerdin, tschatzl
2016-05-02 12:07:58 -04:00
Thomas Schatzl
bd8bbf9e27 8153507: Improve Card Table Clear Task
Move card table clear code into remembered set related files. Improve work distribution of this task, and tune thread usage.

Reviewed-by: jmasa, mgerdin
2016-05-02 10:24:41 +02:00
Antonios Printezis
76adc93577 8151556: Use the PreservedMarks* classes for the G1 preserved mark stacks
Reviewed-by: tschatzl
2016-04-26 10:23:08 +02:00
Thomas Schatzl
4c2f0704f3 8153170: Card Live Data does not correctly handle eager reclaim
The card live data of regions eagerly reclaimed during remark and cleanup pause could be wrong, not considering that these regions were eagerly reclaimed and empty.

Reviewed-by: drwhite, kbarrett
2016-04-18 16:54:04 +02:00
Mikael Gerdin
43c73dc321 8154154: Separate G1 specific policy code from the CollectorPolicy class hierarchy
Move G1 runtime policy code to new class G1Policy which is unrelated to CollectorPolicy

Reviewed-by: kbarrett, ehelin
2016-03-18 15:20:43 +01: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
Bengt Rutisson
85c97dc404 8148759: G1AllocRegion::_count inconsistently used if more than one context is active
Reviewed-by: sjohanss, jwilhelm, tschatzl
2016-03-18 10:51:29 +01:00
Mikael Gerdin
cd911039ce 8151808: Factor G1 heap sizing code out of the G1CollectorPolicy
Reviewed-by: tbenson, jwilhelm
2016-03-11 11:22:56 +01: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
Per Lidén
da5ca5c5d5 8151601: Cleanup locking of the Reference pending list
Reviewed-by: brutisso, stefank
2016-03-17 08:07:53 +01:00
Stefan Johansson
44995d664d 8151696: Print all regions on trace level to get same behavior as old PrintHeapAtGCExtended
Reviewed-by: brutisso, jwilhelm
2016-03-14 09:11:21 +01:00
Mikael Gerdin
b7486d2544 8151178: Move the collection set out of the G1 collector policy
Create a G1CollectionSet class

Reviewed-by: jwilhelm, tbenson, tschatzl
2016-03-07 17:23:59 +01:00
Thomas Schatzl
a9f10173e7 Merge 2016-02-26 17:55:05 +01:00
Thomas Schatzl
6fe8d6e7de 8150630: Add logging for ParScanThreadState merge phase
Improve visibility of the per-thread scan state merge phase by adding appropriate logging.

Reviewed-by: jmasa, tbenson
2016-02-26 13:02:30 +01:00
Thomas Schatzl
d00c7378d6 8076463: Add logging for the preserve CM referents task
Add logging and do minor refactoring to CM referents handling task.

Reviewed-by: jmasa
2016-02-26 13:02:30 +01:00
Mikael Gerdin
167ce92545 8150390: Move rs length sampling data to the sampling thread
Reviewed-by: drwhite, jwilhelm
2016-02-25 11:20:03 +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
Bengt Rutisson
f4f5e64f5d 8148736: Let the G1 heap transition log regions instead of bytes
Reviewed-by: sjohanss, david
2016-02-02 12:13:05 +01:00
Bengt Rutisson
a5e2b096bc 8148734: G1: Make G1GCPhaseTimes keep track of the start GC time
Reviewed-by: sjohanss, tschatzl
2016-02-02 10:50:08 +01:00
David Lindholm
ac117697a3 8147814: Move verification code out of g1collectedheap
Reviewed-by: jwilhelm, tschatzl
2016-01-26 15:28:31 +01:00
David Lindholm
98193d202b 8146399: Refactor the BlockOffsetTable classes
Reviewed-by: mgerdin, jwilhelm, tschatzl
2016-01-07 16:25:53 +01:00
Thomas Schatzl
d6e95be627 8145774: Move scrubbing setup code away out of ConcurrentMark
Remove dependency of ConcurrentMark to G1RemSet.

Reviewed-by: jmasa, mgerdin
2015-12-22 11:03:37 +01:00
Bengt Rutisson
9ecd60a8dc 8145303: Clean up the units for log_gc_footer
Reviewed-by: david, tschatzl, goetz
2015-12-15 09:58:29 +01:00
David Lindholm
a1a959760b 8144996: Replace the HeapRegionSetCount class with an uint
Reviewed-by: brutisso, jwilhelm
2015-12-11 13:48:52 +01:00
Bengt Rutisson
ffeb0bdad0 8145092: Use Unified Logging for the GC logging
JEP-271. VM changes contributed by brutisso, test changes contributed by david.

Co-authored-by: David Lindholm <david.lindholm@oralce.com>
Reviewed-by: sjohanss, david, brutisso
2015-12-10 14:57:55 +01:00
Mikael Gerdin
ae65f88b0f 8144714: Add extension point to G1 evacuation closures
Reviewed-by: ehelin, jmasa
2015-12-09 16:05:24 +01:00
Stefan Johansson
4b50caadef 8143251: HeapRetentionTest.java Test is failing on jdk9/dev
Reviewed-by: tschatzl, david
2015-11-26 13:13:03 +01:00
Erik Helin
704a098a0e 8142404: Parallelize the restoring of preserved marks
Reviewed-by: mgerdin, tschatzl
2015-11-26 09:50:22 +01:00
Erik Helin
7bb30f51ab 8139892: Allow G1CollectorPolicy to specify if reference processing should be enabled
Reviewed-by: mgerdin, kbarrett, tbenson
2015-10-19 16:33:12 +02:00
Thomas Schatzl
00eb98fb06 Merge 2015-11-25 19:27:38 +00:00
Erik Helin
402195fa55 8142495: Move G1ParEvacuateFollowersClosure to header file
Reviewed-by: sjohanss, brutisso
2015-11-24 15:46:45 +01:00
Thomas Schatzl
66a728fc27 8136681: Factor out IHOP calculation from G1CollectorPolicy
Move out existing IHOP value calculation into an implementation of a new interface called G1IHOPControl. Prepare for changes to accomodate adaptive IHOP implementation.

Reviewed-by: jmasa, mgerdin, ehelin
2015-11-24 10:22:36 +01:00
Derek White
d84d65893b 8143252: Clean up G1CollectedHeap interface
Delete unused methods and parameters

Reviewed-by: mgerdin, tschatzl, pliden
2015-11-19 12:43:08 -05:00
David Lindholm
4bfbb83879 8141434: G1CollectedHeap::into_cset_dirty_card_queue_set should be moved to G1RemSet
Reviewed-by: tschatzl, mgerdin
2015-11-09 11:26:15 +01:00
David Lindholm
6bda88594d 8139867: Change how startsHumongous and continuesHumongous regions work in G1
Reviewed-by: tschatzl, tbenson
2015-11-09 09:19:39 +01:00
Mikael Gerdin
86cf323c41 8139149: Split G1 evacuate_collection_set into multiple steps
Reviewed-by: ehelin, tschatzl
2015-10-14 14:51:10 +02:00
Eric Caspole
4e060cfa31 8060017: G1: Report heap sizing time
Report heap expansion time done on VM thread after collection. Previously this was included in "Other" time.

Reviewed-by: mgerdin, tschatzl
2015-10-20 14:01:49 -04:00
David Lindholm
a7d89b56a8 8139434: Unify GenRemSet and CardTableRS
Reviewed-by: jwilhelm, mgerdin
2015-10-14 09:33:45 +02:00
Thomas Schatzl
261e7583ab 8069330: Adjustment of concurrent refinement thresholds does not take hot card cache into account
Measure HCC processing time separately and remove that time from the calculation of the refinement thresholds. HCC processing time is still taken into account for general pause time predictions.

Reviewed-by: tbenson, jmasa
2015-10-13 14:49:13 +02:00