66 Commits

Author SHA1 Message Date
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
David Lindholm
9e52e67f3c 8139427: Break out YoungList to own class
Reviewed-by: mgerdin, jwilhelm
2015-10-13 08:37:44 +02:00
Erik Helin
75623819fd 8138969: G1CollectorPolicy should use const for applicable methods
Reviewed-by: mgerdin, jwilhelm
2015-10-07 15:06:52 +02:00
Alexander Harlap
786cdcb65d 8130265: gctests/LargeObjects/large001 fails with OutOfMemoryError: Java heap space
Avoided G1 OutOfMemoryError by adding extra expand heap call

Reviewed-by: jwilhelm, tschatzl
2015-09-30 18:09:40 -04:00
David Lindholm
1e71f67736 8080775: Better argument formatting for assert() and friends
Reviewed-by: kbarrett, pliden
2015-09-29 11:02:08 +02:00
Mikael Gerdin
6f11efbbb4 8135154: Move cards scanned and surviving young words aggregation to G1ParScanThreadStateSet
Reviewed-by: tschatzl, ehelin
2015-09-09 14:22:45 +02:00
Mikael Gerdin
2dbd4dd578 8135152: Create a G1ParScanThreadStateSet class for managing G1 GC per thread states
Reviewed-by: tschatzl, ehelin
2015-09-09 10:34:22 +02:00
Kim Barrett
802664728f 8134797: Remove explicit casts in CollectorPolicy hierarchy
Removed the explicit casts.

Reviewed-by: jwilhelm, tschatzl, pliden
2015-09-08 16:00:34 -04:00
Jiangli Zhou
9ee2b211f9 8131734: assert(!is_null(v)) failed: narrow klass value can never be zero with -Xshared:auto
Handle shared string mapping failures.

Co-authored-by: Tom Benson <tom.benson@oracle.com>
Reviewed-by: tschatzl, kbarrett, ddmitriev, hseigel
2015-08-25 17:22:56 -04:00
Thomas Schatzl
6cca258181 8040162: Avoid reallocating PLABs between GC phases in G1
Allocate G1ParScanThreadState at the start of GC and only deallocate at the end of GC. This automatically keeps the current PLAB intact without flushing it (and loosing lots of memory) for every reallocation.

Reviewed-by: david, mgerdin
2015-08-20 15:17:43 +02:00
Thomas Schatzl
4a849fb21c 8133530: Add JFR event for evacuation statistics
Introduce two new JFR events for young/old generation allocation statistics based on previous changes.

Reviewed-by: ehelin, mgerdin
2015-08-20 15:17:41 +02:00
Thomas Schatzl
0ade675b8b 8073013: Add detailed information about PLAB memory usage
Track and provide information about direct allocation, region end waste and failure waste for G1.

Reviewed-by: jmasa, david, ehelin, mgerdin
2015-08-19 13:59:39 +02:00
Thomas Schatzl
43a6ce61de 8133470: Uses of Atomic methods in plab.hpp should be moved to .inline.hpp file
Fix include file dependencies according to general guidelines for plab.hpp

Reviewed-by: ehelin, mgerdin
2015-08-19 13:50:50 +02:00
Stefan Karlsson
e25bcfd3d3 8087323: Unify and split the work gang classes
Reviewed-by: jmasa, sjohanss
2015-06-29 11:09:39 +02:00