123 Commits

Author SHA1 Message Date
Stefan Johansson
6983acfb5f 8139424: SIGSEGV, Problematic frame: # V [libjvm.so+0xd0c0cc] void InstanceKlass::oop_oop_iterate_oop_maps_specialized<true,oopDesc*,MarkAndPushClosure>
The crash was caused by a faulty eager humongous reclaim. The reason for reclaiming a live object was that the call to cleanupHRRS was done after dirtying cards and clearing the remembered sets for the humongous object. This could lead to one or many cards being missed.

Reviewed-by: tbenson, kbarrett, tschatzl
2015-11-13 09:28:53 +01:00
Sangheon Kim
6c10034f4b 8134631: G1DummyRegionsPerGC fires assert of assert(words <= filler_array_max_size()) failed: too big for a single object
Change filler max value temporarily for G1DummyRegionsPerGC flag.

Reviewed-by: tbenson, tschatzl
2015-11-12 09:52:04 -08:00
Thomas Schatzl
00a7b7ded2 8140585: PLAB statistics are flushed too late
Move the call to G1EvacStats::adjust_desired_plab_sz() to after flushing the per-thread statistics.

Reviewed-by: mgerdin, jmasa
2015-11-10 09:29:40 +01: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
Thomas Schatzl
35f9a7ac32 Merge 2015-11-04 18:10:18 +00:00
Thomas Schatzl
a6231d3f70 8141134: Remove unnecessary pragma warning(disable:4355) from GC code
Reviewed-by: ehelin, simonis, stuefe
2015-11-04 17:36:29 +01:00
Mikael Gerdin
f25b7859ef 8141422: G1 eager reclaim card dirtying may dirty outside of allocated objects
Reviewed-by: sjohanss, tschatzl, ehelin
2015-11-04 16:42:11 +01:00
Erik Helin
adbbc4e8d8 8140509: Add note_gc_start to G1CollectorPolicy
Reviewed-by: mgerdin, tschatzl
2015-10-31 15:27:48 +01:00
Erik Helin
d8b7d0ecd4 8140508: Add utility method for logging phases to G1CollectorPolicy
Reviewed-by: mgerdin, tschatzl
2015-10-30 10:15:06 +01:00
Coleen Phillimore
b046110ab7 Merge 2015-10-28 15:03:40 +01:00
Coleen Phillimore
fc03719078 8139203: Consistent naming for klass type predicates
8138923: Remove oop coupling with InstanceKlass subclasses

Renamed oop_is_instance and friends, removed the functions in oop that dug down into InstanceKlass.

Reviewed-by: jrose, lfoltan, stefank
2015-10-28 09:47:23 -04:00
Coleen Phillimore
5179fc3488 8139163: InstanceKlass::cast passes through NULL
Reduce raw (InstanceKlass*) casts and InstanceKlass::cast, which no long allows null

Reviewed-by: twisti, kbarrett
2015-10-26 13:11:36 -04:00
Eric Caspole
686fb800c8 Merge 2015-10-21 13:46:25 +00:00
Eric Caspole
f235a51ed0 Merge 2015-10-20 22:35:46 +00: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
Joseph Provino
db5f26110b Merge 2015-10-20 11:17:19 -04:00
Dean Long
344a9becee Merge 2015-10-17 19:40:30 -04: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
Mikael Gerdin
425894f2ea 8138762: Refactor setup of evacuation closures in G1
Introduce policy class containing the root scan closures.

Reviewed-by: ehelin, stefank
2015-10-14 14:50:43 +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
Stefan Karlsson
0c74942fe6 8058563: InstanceKlass::_dependencies list isn't cleared from empty nmethodBucket entries
Reviewed-by: mgerdin, vlivanov
2015-10-13 10:06:46 +02:00
David Lindholm
9e52e67f3c 8139427: Break out YoungList to own class
Reviewed-by: mgerdin, jwilhelm
2015-10-13 08:37:44 +02:00
Bengt Rutisson
b266f13f2c 8139293: TestGCEventMixedWithG1ConcurrentMark.java fails after JDK-8134953
Reviewed-by: ecaspole, jwilhelm
2015-10-09 20:31:56 +02:00
Christian Thalinger
16526e000e 8136421: JEP 243: Java-Level JVM Compiler Interface
Reviewed-by: ihse, alanb, roland, coleenp, iveresov, kvn, kbarrett
2015-10-08 12:49:30 -10: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
Bengt Rutisson
003892f897 8134953: Make the GC ID available in a central place
Reviewed-by: pliden, jmasa
2015-09-30 09:07:21 +02: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
34a6b43988 8136701: Remove YOUNG_LIST_VERBOSE code from G1CollectedHeap
Reviewed-by: stefank, jwilhelm
2015-09-17 16:07:06 +02:00
Erik Helin
89ec770497 8135260: Split G1CollectorPolicy::finalize_cset into two parts
Reviewed-by: tschatzl, mgerdin
2015-09-11 10:02:35 +02:00
Sangheon Kim
7ec42b2f7a 8135025: Error message is repeated for large value at G1ConcRefinementThreads
Changed error handling when G1ConcRefinementThreads creation failed

Reviewed-by: jwilhelm, kbarrett, tschatzl
2015-09-09 09:19:32 -07: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
Mikael Gerdin
cf47fb3a23 8135012: Don't use G1RootProcessor when scanning remembered sets
Reviewed-by: jmasa, ecaspole
2015-09-04 09:47:35 +02:00
Thomas Schatzl
83e4800c47 8134857: Inconsistency in maximum TLAB/PLAB size and humongous object size
Align TLAB/PLAB size with exact humongous object size threshold, not that value -1.

Reviewed-by: jmasa, dfazunen
2015-09-04 08:36:13 +02:00
Erik Helin
6239649ec3 8134509: G1ParCopyClosure does not need a ReferenceProcessor
Reviewed-by: stefank, mgerdin
2015-08-28 09:05:46 +02:00
Erik Helin
ec7659c972 8134504: Remove usage of EvacuationInfo from G1CollectorPolicy
Reviewed-by: mgerdin, jwilhelm
2015-08-27 16:28:05 +02: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
041c76d48b 8073146: G1 merges thread local age tables too early with global age table
Move merging of age and survivor table to the end of GC.

Reviewed-by: mgerdin, david
2015-08-20 15:17:43 +02: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
Thomas Schatzl
c6cfb3a7fd 8133042: Remove some direct accesses of G1Allocator to G1CollectedHeap members
Remove direct access to private members of G1CollectedHeap from G1Allocator and G1ArchiveAllocator. Allows removal of friend delcarations.

Reviewed-by: kbarrett, jmasa, jwilhelm
2015-08-07 15:37:07 +02:00
Thomas Schatzl
c2d0a8dbd0 8133047: Rename G1ParScanThreadState::_queue_num to _worker_id
Reviewed-by: jmasa, jwilhelm
2015-08-06 15:52:33 +02:00
Thomas Schatzl
183850cec4 8133043: Clean up code related to termination stats printing
Reformat termination stats related code to make it look more similar to existing code.

Reviewed-by: jwilhelm, jmasa
2015-08-06 15:49:52 +02:00
Thomas Schatzl
6e3ffb1aae 8073052: Rename and clean up the allocation manager hierarchy in g1Allocator.?pp
Fix naming of G1ParGCAllocator, decrease dependencies between G1CollectedHeap, G1Allocator and G1AllocRegion, additional documentation.

Reviewed-by: mgerdin, jmasa, kbarrett
2015-08-06 15:49:50 +02:00
Eric Caspole
cf7ea2f64e 8132148: G1 hs_err region dump legend out of sync with region values
Use E for Eden, S for Survivor, O for Old

Reviewed-by: tschatzl, tbenson
2015-07-24 10:32:00 -04:00