193 Commits

Author SHA1 Message Date
Evgeniya Stepanova
19e80a1f8f 6407976: GC worker number should be unsigned
Reviewed-by: jwilhelm, tschatzl
2015-04-29 15:12:33 +03:00
Sangheon Kim
e207b18f10 8073204: 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: ysr, jwilhelm, tschatzl
2015-04-28 12:02:50 -07:00
Joseph Provino
d27e6d731e 8074545: Rename and clean up the ParGCAllocBuffer class
Rename ParGCAllocBuffer to PLAB and rename affected files.

Reviewed-by: tschatzl, kbarrett
2015-04-15 11:42:20 -04:00
Per Lidén
82de4945ac 8077415: Remove duplicate variables holding the CollectedHeap
Reviewed-by: stefank, kbarrett
2015-04-16 09:28:18 +02:00
Kim Barrett
763048052f 8069367: Eagerly reclaimed humongous objects left on mark stack
Prevent eager reclaim of objects that might be on mark stack.

Reviewed-by: brutisso, tschatzl
2015-04-15 12:16:01 -04:00
Bengt Rutisson
2cefed232b 8077411: Remove CollectedHeap::supports_heap_inspection()
Reviewed-by: stefank, ecaspole, jmasa
2015-04-12 14:59:41 +02:00
Thomas Schatzl
0a0a22f7ea 8058354: SPECjvm2008-Derby -2.7% performance regression on Solaris-X64 starting with 9-b29
Allow use of large pages for auxiliary data structures in G1. Clean up existing interfaces.

Reviewed-by: jmasa, pliden, stefank
2015-04-07 10:53:51 +02:00
Bengt Rutisson
d2f816a875 8076452: Remove SharedHeap
Reviewed-by: stefank, sjohanss, david
2015-04-02 16:08:41 +02:00
Bengt Rutisson
c3b72f7f5b 8076454: Clean up/move things out of SharedHeap
Reviewed-by: stefank, sjohanss, david
2015-04-02 16:06:07 +02:00
Per Lidén
cee2c148bc 8076294: Cleanup of CollectedHeap::kind()
Reviewed-by: stefank, ecaspole
2015-04-01 10:49:08 +02:00
Per Lidén
ff23a17283 8076231: Remove unused is_in_partial_collection()
Reviewed-by: brutisso, drwhite
2015-03-31 08:27:30 +02:00
Stefan Karlsson
0c57e77d43 8075803: Fix GC includes and forward declarations
Reviewed-by: pliden, mgerdin
2015-03-24 11:21:21 +01:00
Mikael Gerdin
f5292016ee 8075210: Refactor strong root processing in order to allow G1 to evolve separately from GenCollectedHeap
Create a G1RootProcessor and move SharedHeap root processing to GenCollectedHeap

Reviewed-by: brutisso, tschatzl, ehelin
2014-12-01 15:24:56 +01:00
Andrey Zakharov
9272128a46 8061715: gc/g1/TestShrinkAuxiliaryData15.java fails with java.lang.RuntimeException: heap decommit failed - after > before
Added WhiteBox methods to count regions and exact aux data sizes

Reviewed-by: tschatzl, jwilhelm, mgerdin
2015-03-16 17:51:28 +03:00
Erik Helin
be4035c60a 8030646: track collection set membership in one place
Reviewed-by: tschatzl, jwilhelm
2015-01-26 10:32:35 +01:00
Staffan Friberg
67fddc10a6 8031538: G1 eden usage is sometimes higher than target eden (printed Eden size)
When recalculating the number of target eden size, correctly consider the amount of existing eden regions in the target calculation.

Reviewed-by: tschatzl
2015-03-06 09:07:33 +01:00
Kim Barrett
40d3986051 8069016: Add BarrierSet downcast support
Add FakeRttiSupport utility and use to provide barrier_set_cast.

Reviewed-by: jmasa, sangheki
2015-02-27 19:52:48 -05:00
Marcus Larsson
7727fe0044 8072621: Clean up around VM_GC_Operations
Reviewed-by: brutisso, jmasa
2015-02-13 09:48:49 +01:00
Claes Redestad
8d30377d50 8068037: Remove dead code in G1CollectedHeap
Reviewed-by: stefank, tschatzl
2015-01-08 14:13:03 +01:00
Thomas Schatzl
afb458ef0e 8048179: Early reclaim of large objects that are referenced by a few objects
Push the remembered sets of large objects with few referenced into the dirty card queue at the beginning of the evacuation so that they may end up with zero remembered set entries at the end of the collection, and are potentially reclaimed. Also improve timing measurements of the early reclaim mechanism, and shorten flag names.

Reviewed-by: brutisso, jmasa, dfazunen
2015-01-07 15:15:37 +01:00
Thomas Schatzl
52a4823950 8068018: Clean up friends of G1CollectedHeap
Remove unnecessary friend class declaration in the G1CollectedHeap class.

Reviewed-by: jwilhelm, jmasa
2014-12-23 15:48:32 +01:00
Thomas Schatzl
d530b1da99 8068036: assert(is_available(index)) failed in G1 cset
Some verification code iterated over the heap using the region mapping array. This is not allowed. Changed to use the regular iteration method with closure.

Reviewed-by: jwilhelm, brutisso
2014-12-22 16:49:24 +01:00
Thomas Schatzl
1be86b3412 8060025: Object copy time regressions after JDK-8031323 and JDK-8057536
Evaluate and improve object copy time by micro-optimizations and splitting out slow and fast paths aggressively.

Co-authored-by: Tony Printezis <tprintezis@twitter.com>
Reviewed-by: kbarrett, mgerdin, jmasa
2014-12-19 09:21:06 +01:00
Mikael Gerdin
cc786b287d 8067655: Clean up G1 remembered set oop iteration
Pass on the static type G1ParPushHeapRSClosure to allow oop_iterate devirtualization

Reviewed-by: jmasa, kbarrett
2014-12-08 18:57:33 +01:00
Marcus Larsson
89dca54c74 8062943: REDO - Parallelize clearing the next mark bitmap
Reviewed-by: kbarrett, tschatzl
2014-11-25 11:59:55 +01:00
Stefan Johansson
6306dce831 8061234: ResourceContext.requestAccurateUpdate() is unreliable
Changing copy_allocation_context_stats to return if there are more stats available after the copy.

Reviewed-by: rriggs, jcoomes
2014-10-30 10:51:06 +01:00
Kim Barrett
8f8d87ece5 8061748: Remove check_ct_logs_at_safepoint()
Remove unused function and related closure class

Reviewed-by: jwilhelm, mgerdin
2014-10-23 16:19:32 -04:00
Thomas Schatzl
60f3ade82b 8059758: Footprint regressions with JDK-8038423
Changes in JDK-8038423 always initialize (zero out) virtual memory used for auxiliary data structures. This causes a footprint regression for G1 in startup benchmarks. This is because they do not touch that memory at all, so the operating system does not actually commit these pages. The fix is to, if the initialization value of the data structures matches the default value of just committed memory (=0), do not do anything.

Reviewed-by: jwilhelm, brutisso
2014-10-09 11:40:11 +02:00
Marcus Larsson
6d1c35615a 8058298: Separate heap region iterator claim values from the data structures iterated over
Reviewed-by: tschatzl, brutisso
2014-10-07 14:54:53 +02:00
Antonios Printezis
da5afa76ab 8058495: G1: normalize names for isHumongous() and friends
Reviewed-by: tschatzl, brutisso
2014-09-23 11:43:24 +02:00
John Coomes
fd0e5093ca 8057824: methods to copy allocation context statistics
Reviewed-by: mikael, jmasa, tschatzl
2014-09-10 13:01:13 -07:00
John Coomes
40155ae18d 8057818: collect allocation context statistics at gc pauses
Reviewed-by: mikael, jmasa
2014-09-10 13:01:13 -07:00
Stefan Johansson
3e6d46d28b 8057658: Enable G1 FullGC extensions
Refactored the G1 FullGC code to enable it to be extended.

Reviewed-by: mgerdin, brutisso
2014-09-09 00:05:25 +02:00
Stefan Johansson
f8137659f5 8057536: Refactor G1 to allow context specific allocations
Splitting out a g1 allocator class to simply specialized allocators which can associate each allocation with a given context.

Reviewed-by: mgerdin, brutisso
2014-09-05 09:49:19 +02:00
Mikael Gerdin
10379e7e82 8048268: G1 Code Root Migration performs poorly
Replace G1CodeRootSet with a Hashtable based implementation, merge Code Root Migration phase into Code Root Scanning

Reviewed-by: jmasa, brutisso, tschatzl
2014-08-29 13:12:21 +02:00
Thomas Schatzl
9086b5795f 8054819: Rename HeapRegionSeq to HeapRegionManager
Reviewed-by: jwilhelm, jmasa
2014-08-26 09:36:53 +02:00
Stefan Karlsson
2bf343ea50 8055416: Several vm/gc/heap/summary "After GC" events emitted for the same GC ID
Reviewed-by: brutisso, ehelin
2014-08-25 09:10:13 +02:00
Thomas Schatzl
100e51a339 8038423: G1: Decommit memory within heap
Allow G1 to decommit memory of arbitrary regions within the heap and their associated auxiliary data structures card table, BOT, hot card cache, and mark bitmaps.

Reviewed-by: mgerdin, brutisso, jwilhelm
2014-08-19 14:09:10 +02:00
Poonam Bajaj
2617d54723 8044406: JVM crash with JDK8 (build 1.8.0-b132) with G1 GC
Fill the last card that has been allocated into with a dummy object

Reviewed-by: tschatzl, mgerdin
2014-08-18 19:30:24 -07:00
Thomas Schatzl
2ee5ee89d4 8054818: Refactor HeapRegionSeq to manage heap region and auxiliary data
Let HeapRegionSeq manage the heap region and auxiliary data to decrease the amount of responsibilities of G1CollectedHeap, and encapsulate this work from other code.

Reviewed-by: jwilhelm, jmasa, mgerdin, brutisso
2014-08-18 16:10:44 +02:00
Thomas Schatzl
94d0494b27 8054341: Remove some obsolete code in G1CollectedHeap class
Remove dead code.

Reviewed-by: stefank, brutisso
2014-08-07 22:28:53 +02:00
Thomas Schatzl
f161bd6d16 8027959: Early reclamation of large objects in G1
Try to reclaim humongous objects at every young collection after doing a conservative estimate of its liveness.

Reviewed-by: brutisso, mgerdin
2014-07-23 09:03:32 +02:00
Thomas Schatzl
bc56e061ec 8048112: G1 Full GC needs to support the case when the very first region is not available
Refactor preparation for compaction during Full GC so that it lazily initializes the first compaction point. This also avoids problems later when the first region may not be committed. Also reviewed by K. Barrett.

Reviewed-by: brutisso
2014-07-21 10:00:31 +02:00
Stefan Karlsson
1b001a2afd 8049421: G1 Class Unloading after completing a concurrent mark cycle
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
2014-07-07 10:12:40 +02:00
Stefan Karlsson
ef1e9b3c80 8049420: Backout 8048248 to correct attribution
Reviewed-by: ehelin, brutisso
2014-07-07 12:37:11 +02:00
Stefan Karlsson
8c3aced316 8048248: G1 Class Unloading after completing a concurrent mark cycle
Reviewed-by: tschatzl, ehelin, brutisso, coleenp, roland, iveresov
2014-07-07 10:12:40 +02:00
Thomas Schatzl
0bd028231f 8035400: Move G1ParScanThreadState into its own files
Extract the G1ParScanThreadState class from G1CollectedHeap.?pp into its own files.

Reviewed-by: brutisso, mgerdin
2014-06-26 15:45:07 +02:00
Per Lidén
5e1811cd0e 8044796: G1: Enable G1CollectedHeap::stop()
Reviewed-by: brutisso, sjohanss
2014-06-13 13:46:06 +02:00
Goetz Lindenmaier
6e6f0720a9 8042195: Introduce umbrella header orderAccess.inline.hpp
Reviewed-by: dholmes, kvn, stefank, twisti
2014-04-29 15:17:27 +02:00
Bengt Rutisson
9968a23667 7132678: G1: verify that the marking bitmaps have no marks for objects over TAMS
Co-authored-by: Tony Printezis <tony.printezis@oracle.com>
Reviewed-by: jmasa, tschatzl, ehelin
2014-04-29 09:33:20 +02:00