353 Commits

Author SHA1 Message Date
Staffan Friberg
04bdb774e1 8064473: Improved handling of age during object copy in G1
Reviewed-by: brutisso, tschatzl
2014-11-14 15:03:39 +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
Erik Helin
3a3e45ab40 8061630: G1 iterates over JNIHandles two times
Reviewed-by: mgerdin, brutisso
2014-10-23 11:43:29 +02:00
Marcus Larsson
46e9fb5176 6979279: remove special-case code for ParallelGCThreads==0
Reviewed-by: jwilhelm, brutisso, kbarrett
2014-10-21 11:57:22 +02:00
Stefan Johansson
bd227a9bac 8058568: GC cleanup phase can cause G1 skipping a System.gc()
Marking G1 FullGC as a _full collection and passing down the correct before count.

Reviewed-by: brutisso, mgerdin
2014-10-20 10:18:17 +02:00
Stefan Karlsson
d410f19961 8056240: Investigate increased GC remark time after class unloading changes in CRM Fuse
Reviewed-by: mgerdin, coleenp, bdelsart
2014-10-02 10:55:36 +02:00
Sangheon Kim
8d288ccc54 8027428: Different conditions for printing taskqueue statistics for parallel gc, parNew and G1
Changed flag names for printing taskqueue and termination statistics for parallel gc, parNew and G1.

Reviewed-by: jwilhelm, brutisso, tschatzl
2014-10-14 20:58:43 +02:00
Sangheon Kim
3f18eda414 8058801: G1TraceReclaimDeadHumongousObjectsAtYoungGC only prints humongous object liveness output when there is at least one candidate humongous object
If G1TraceReclaimDeadHumongousObjectsAtYoungGC is enabled, always print humongous object liveness output.

Reviewed-by: tschatzl
2014-10-10 12:15:51 +02: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
Stefan Johansson
18eb46eb95 8059466: Force young GC to initiate marking cycle when stat update is requested
Enable yc to be forced for stat update.

Reviewed-by: mgerdin, jcoomes
2014-10-06 10:11:13 +02:00
Jesper Wilhelmsson
f9b921bd25 Merge 2014-09-22 16:22:21 +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
Niclas Adlertz
37c8ef911c Merge 2014-09-19 17:14:13 +02:00
Tobias Hartmann
cd01de591a 8015774: Add support for multiple code heaps
Support for segmentation of the code cache. Separate code heaps are created and used to store code of different types.

Reviewed-by: kvn, iveresov, roland, anoll, egahlin, sla
2014-09-17 08:00:07 +02:00
Thomas Schatzl
adf66602a0 8052172: Evacuation failure handling in G1 does not evacuate all objects if -XX:-G1DeferredRSUpdate is set
Remove -XX:-G1DeferredRSUpdate functionality as it is racy. During evacuation failure handling, threads where evacuation failure handling occurred may try to add remembered sets to regions which remembered sets are currently being scanned. The iterator to handle the remembered set scan does not support addition of entries during scan and so may skip valid references.

Reviewed-by: iveresov, brutisso, mgerdin
2014-09-16 10:28:15 +02: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
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
Marcus Larsson
f6ab247c45 8055091: CollectedHeap::_reserved usage should be cleaned up
Added an initialization function for _reserved.

Reviewed-by: mgerdin, jwilhelm
2014-09-18 12:45:45 +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
Leonid Mesnik
6715fc0bed 8055098: WB API should be extended to provide information about size and age of object
Extend the WhiteBox API to provide information about the size and age of objects. Further add a mechanism to trigger a young GC.

Reviewed-by: tschatzl, sjohanss
2014-08-21 16:44:41 +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
Stefan Karlsson
ef47f5dc0e 8048269: Add flag to turn off class unloading after G1 concurrent mark
Added -XX:+/-ClassUnloadingWithConcurrentMark

Reviewed-by: jmasa, brutisso, mgerdin
2014-08-06 09:55:16 +02:00
Thomas Schatzl
a959c0971e 8051973: Eager reclaim leaves marks of marked but reclaimed objects on the next bitmap
Eager reclaim also needs to clear marks of eagerly reclaimed regions if they have already been marked during concurrent mark.

Reviewed-by: jmasa
2014-07-31 09:23:24 +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
Antonios Printezis
a2984b6c88 8057768: Make heap region region type in G1 HeapRegion explicit
Reviewed-by: brutisso, tschatzl
2014-09-15 12:19:31 +02:00
Antonios Printezis
b9d46eee2c 8057799: Unnecessary NULL check in G1KeepAliveClosure
Reviewed-by: tschatzl, stefank
2014-09-10 11:55:33 +02:00
Erik Helin
b77bc85799 8049426: Minor cleanups after G1 class unloading
Reviewed-by: stefank, brutisso
2014-07-09 16:44:30 +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
b4e0c547b8 8035401: Fix visibility of G1ParScanThreadState members
After JDK-8035400 there were several opportunities to fix the visibility of several members of the G1ParScanThreadState class.

Reviewed-by: brutisso, mgerdin
2014-06-26 15:48:05 +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
Mikael Gerdin
83303777f7 8047821: G1 Does not use the save_marks functionality as intended
Rename save_marks to record_top_and_timestamp and remove som unused but related methods

Reviewed-by: stefank, ehelin
2014-06-26 10:00:00 +02:00
Stefan Karlsson
24fcad36b4 8047323: Remove unused _copy_metadata_obj_cl in G1CopyingKeepAliveClosure
Reviewed-by: mgerdin, tschatzl
2014-06-25 08:28:01 +02:00
Per Lidén
d0e17d1ff0 8046231: G1: Code root location ... from nmethod ... not in strong code roots for region
Reviewed-by: tschatzl, ehelin
2014-06-23 16:43:41 +02:00
Goetz Lindenmaier
8e7c8f1d88 8044775: Improve usage of umbrella header atomic.inline.hpp
Reviewed-by: stefank, kvn
2014-06-04 11:56:44 +02:00
Bengt Rutisson
9672a26d51 8043607: Add a GC id as a log decoration similar to PrintGCTimeStamps
Reviewed-by: jwilhelm, ehelin, tschatzl
2014-06-19 13:31:14 +02:00
Per Lidén
5e1811cd0e 8044796: G1: Enable G1CollectedHeap::stop()
Reviewed-by: brutisso, sjohanss
2014-06-13 13:46:06 +02:00
Jesper Wilhelmsson
ded8b863dd 8042298: Remove the names gen0 and gen1 from the GC code
Renamed gen0 and gen1 to young and old throughout the GC code.

Reviewed-by: sjohanss, jcoomes
2014-05-02 02:11:34 +02:00
Per Lidén
9c1843a7c3 8044768: Backout fix for JDK-8040807
Reviewed-by: brutisso, ehelin
2014-06-04 14:16:20 +02:00
Bengt Rutisson
f013a5db3b Merge 2014-06-03 09:34:04 +00:00
Bengt Rutisson
426151a22e 8043239: G1: Missing post barrier in processing of j.l.ref.Reference objects
Removed all write barriers during reference processing and added explicit write barriers when iterating through the discovered list.

Reviewed-by: pliden, jmasa, tschatzl
2014-06-03 10:44:36 +02:00
Per Lidén
2652623308 8040807: G1: Enable G1CollectedHeap::stop()
Reviewed-by: brutisso, jmasa, tschatzl
2014-06-03 10:37:46 +02:00