97 Commits

Author SHA1 Message Date
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
Sangheon Kim
c091c7348a 8134972: [BACKOUT] GC: implement ranges (optionally constraints) for those flags that have them missing
Reviewed-by: jwilhelm
2015-09-02 17:49:46 -07:00
Kim Barrett
8ebc8387ba 8134806: Clean up write_ref_field_work
Remove unnecessary pure virtual decl and default argument values.

Reviewed-by: jwilhelm, tbenson, jmasa
2015-09-02 11:41:42 -04:00
Thomas Schatzl
f55b656f2d Merge 2015-09-02 16:16:58 +02:00
Y. Srinivas Ramakrishna
62ccb0305a 8133818: Additional number of processed references printed with -XX:+PrintReferenceGC after JDK-8047125
Test contributed by brutisso

Reviewed-by: tonyp, tschatzl
2015-09-02 11:56:10 +02:00
Thomas Schatzl
fbfed13ec2 8134858: Remove G1 specific checking of Young/OldPLABSize in G1CollectorPolicy constructor
Remove obsolete and wrong code.

Reviewed-by: mgerdin, brutisso
2015-09-02 09:57:03 +02:00
Staffan Friberg
96823ab211 8066443: Add G1 support for promotion event
Reviewed-by: tschatzl
2015-09-02 09:51:05 +02:00
Stefan Johansson
dada9bc32c 8129417: Oop iteration clean-up to remove oop_ms_follow_contents
Reviewed-by: pliden, ehelin
2015-09-02 09:14:04 +02:00
Per Lidén
fd814172ac Merge 2015-09-01 14:17:53 +02:00
Per Lidén
ee626f77ab 8134738: Remove CollectorPolicy::Name
Reviewed-by: brutisso, mgerdin
2015-09-01 13:13:19 +02:00
Thomas Schatzl
8f2026345c 8067341: Modify PLAB sizing algorithm to waste less
Change the G1 PLAB resizing algorithm to waste less memory by being more conservative about the PLAB sizes.

Reviewed-by: ecaspole, jmasa
2015-09-01 10:53:29 +02:00
Sangheon Kim
cf5132e887 8078555: GC: implement ranges (optionally constraints) for those flags that have them missing
Add ranges and constraint functions for GC flags.

Reviewed-by: jmasa, kbarrett, gziemski, ddmitriev, drwhite
2015-08-31 11:51:29 -07:00
Kim Barrett
15196341a5 8131330: G1CollectedHeap::verify_dirty_young_list fails with assert
Use assembly loop to avoid compiler optimization into memset

Reviewed-by: ecaspole, tschatzl
2015-08-31 13:06:01 -04:00
Kim Barrett
7706e36194 8072817: CardTableExtension kind() should be BarrierSet::CardTableExtension
Use BarrierSet::CardTableForRS where needed, and update concrete bs tags.

Reviewed-by: jwilhelm, jmasa
2015-08-18 17:48:35 -04: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
494872e535 8133456: HeapRegionManager::shrink_by() iterates suboptimally across regions
Reviewed-by: brutisso, tbenson
2015-08-24 16:32:50 +02:00
Thomas Schatzl
472a3333a8 8067336: Allow that PLAB allocations at the end of regions are flexible
PLAB allocations may return a buffer that is between minimum size (current allocation) and the desired size. This allows removes a large amount of fragmentation at the end of regions.

Reviewed-by: tbenson, mgerdin
2015-08-24 16:27:41 +02:00
Thomas Schatzl
c91c77abd2 8067339: PLAB reallocation might result in failure to allocate object in that recently allocated PLAB
Properly size the PLAB to make sure that the object to allocate always has enough space in it.

Reviewed-by: mgerdin, brutisso
2015-08-20 15:17:43 +02: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
Thomas Schatzl
8c2da662ff 8003237: G1: Reduce unnecessary (and failing) allocation attempts when handling an evacuation failure
Remember for every generation whether the memory for that generation has already been exhausted. If so, do not try to get a new region for these generations. Further, if the last generation is full, early exit from copy_to_survivor_space.

Reviewed-by: jmasa, brutisso
2015-08-19 13:47:40 +02:00
Erik Helin
9bc2e29405 8133825: Remove the class G1CollectorPolicyExt
Reviewed-by: jwilhelm, ecaspole
2015-08-20 10:27:04 +02:00
Eric Caspole
3c41a37bd8 8133349: CMS: Assert failed: Ctl pt invariant
_survivor_chunk_array should be sized based on PLAB::min_size() not ThreadLocalAllocBuffer::min_size()

Reviewed-by: tschatzl, jwilhelm
2015-08-18 14:04:24 -04:00
David Lindholm
4445cbb273 8133553: Running with -XX:+UseParallelGC -XX:OldSize=30k crashes jvm
Reviewed-by: jwilhelm, sjohanss
2015-08-17 10:43:11 +02:00
Stefan Karlsson
0e252b2a93 8087324: Use semaphores when starting and stopping GC task threads
Reviewed-by: jmasa, sjohanss
2015-06-29 11:11:12 +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
Axel Siebenborn
d32b06427d 8133121: Move implementation of process_grey_object to concurrentMark.inline.hpp
Move implementation of process_grey_object to inline.hpp

Reviewed-by: kbarrett, simonis
2015-08-13 09:32:01 +02:00
David Lindholm
b206c669f7 8133193: Memory leak in G1 because G1RootProcessor doesn't have desctructor
Reviewed-by: mgerdin, tschatzl
2015-08-12 16:32:29 +02:00
Kim Barrett
a4537791a8 Merge 2015-08-08 00:27: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
Eric Caspole
bcca305c14 8078904: CMS: Assert failed: Ctl pt invariant
Survivor rescan array now baed on MinTLABSize so all entries will fit

Reviewed-by: tschatzl, kbarrett
2015-08-07 09:15:42 -04: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
Sangheon Kim
a13fe250b0 8130459: Add additional validation after heap creation
Some PLAB related flags' validation can happen after heap creation. Introduced additional stage of validation check.

Reviewed-by: coleenp, dholmes, kbarrett, gziemski, ecaspole, ddmitriev
2015-07-27 13:56:26 -07:00
Kim Barrett
093ee9b659 8079082: VerifyNoCSetOopsClosure is derived twice from Closure
Change closure to a function object and update iteration

Reviewed-by: mgerdin, ecaspole
2015-07-27 14:05:55 -04: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
Walter Florian Gugenberger
ca0fd4b1fe 8004687: G1: Parallelize object self-forwarding and scanning during an evacuation failure
Use the regular task queue during evacuation failure and allow per-thread preserved header queues to remove the global lock during evacuation failure.

Reviewed-by: mgerdin, jmasa
2015-07-23 11:14:47 +02:00
Erik Helin
57553520be 8131319: Move G1Allocator::_summary_bytes_used back to G1CollectedHeap
G1Allocator::_summary_bytes_used fits better in G1CollectedHeap since we added the archive allocator. Move it back to the original location.

Reviewed-by: mgerdin, tbenson
2015-07-23 11:14:24 +02:00
Kim Barrett
717679c169 8130931: Refactor CardTableModRefBS[ForCTRS]
Remove friends and push CTRS-specific code down from base to derived

Reviewed-by: tschatzl, mgerdin
2015-07-22 00:37:01 -04:00
Thomas Schatzl
70eeaa4735 8131166: Remove additional whitespace in G1Allocator
Reviewed-by: jmasa, tbenson
2015-07-16 11:54:37 +02:00
Eric Caspole
34bcc977bc 8129961: SIGSEGV when copying to survivor space
Remove "include_young" parameter from GenCollectedHeap::no_allocs_since_save_marks() since all existing uses pass true to always rescan young gen.

Reviewed-by: jmasa, kbarrett
2015-07-13 11:49:23 -04:00
Jon Masamitsu
48ed80d136 7012980: PSOldGen is increased if there is no space in Metaspace
Reviewed-by: tschatzl, tbenson
2015-04-15 11:30:36 -07:00
Jon Masamitsu
bd52f0a2ef Merge 2015-07-07 18:16:06 +00:00