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
Erik Helin
3a37b5d81c
8142402: G1 should not redirty cards in free regions
...
Reviewed-by: mgerdin, tschatzl
2015-04-29 13:17:46 +02:00
Erik Helin
62bdcb0abf
8144145: G1GCPhaseTimes should allow externally accounted time
...
Reviewed-by: ehelin, tschatzl
2015-11-29 10:00:31 +01:00
Erik Helin
66f8f80768
8144077: Add getter for G1CollectorPolicy::_collectionSetChooser
...
Reviewed-by: mgerdin, tschatzl
2015-11-29 10:00:23 +01: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
Sangheon Kim
3e36930486
8079555: REDO - Determining the desired PLAB size adjusts to the the number of threads at the wrong place
...
Calculate the desired PLAB value for a single thread and then return desired PLAB size according to the current number of threads when needed
Reviewed-by: jmasa, tschatzl
2015-07-07 06:37:10 -07:00
Thomas Schatzl
c8c4924aa3
8129558: Coalesce dead objects during removal of self-forwarded pointers
...
To improve performance of self-forwarding fixup during evacuation failure, coalesce the work done for dead objects.
Reviewed-by: mgerdin, tbenson, tonyp
2015-07-07 14:20:08 +02:00
Stefan Johansson
c85e4ae56f
8078901: Add trace event for G1 MMU information
...
Reviewed-by: ehelin, mlarsson
2015-04-30 13:33:23 +02:00
Poonam Bajaj
b34dec66c6
Merge
2015-06-25 18:14:54 +00:00
Thomas Schatzl
e5a5f9beab
Merge
2015-06-25 15:43:16 +00:00
Poonam Bajaj
c7612a1138
8129108: nmethod related crash in CMS
...
Add SO_AllCodeCache to root scanning options when not unloading classes with a CMS collection cycle
Reviewed-by: mgerdin, jwilhelm
2015-06-25 06:52:05 -07:00
Bengt Rutisson
e7a2bfa767
Merge
2015-06-25 10:52:37 +00:00
Thomas Schatzl
2431e87477
8129573: CollectedHeap::fill_with_objects() needs to use multiple arrays in 32 bit mode too
...
In JDK-8042668 we introduced a custom fill threshold for G1. This leads to CollectedHeap::fill_with_objects create too large objects in G1 when using it in 32 bit mode, as the code to create multiple filler objects is IFDEF'ed out on 32 bit. Enable this code on 32 bit too.
Reviewed-by: tonyp, mgerdin, tbenson
2015-06-25 09:06:35 +02:00
Bengt Rutisson
5f4a67087f
8129626: G1: set_in_progress() and clear_started() needs a barrier on non-TSO platforms
...
Also reviewed by vitalyd@gmail.com
Reviewed-by: pliden, bpittore, bdelsart
2015-06-25 08:15:07 +02:00