388 Commits

Author SHA1 Message Date
Jon Masamitsu
473bf6175f 8017462: G1: guarantee fails with UseDynamicNumberOfGCThreads
Reviewed-by: tschatzl, brutisso
2015-03-17 11:19:05 -07:00
Bengt Rutisson
a5e42354fe 8076237: Remove unused _collector_policy field in SharedHeap
Reviewed-by: jwilhelm, drwhite, stefank
2015-03-31 11:27:20 +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
ba1d121fe0 8075957: Reduce calls to the GC specific object visitors in oopDesc
Reviewed-by: brutisso, mgerdin, pliden
2015-03-26 11:28:19 +01:00
Jesper Wilhelmsson
5f5b27baba Merge 2015-03-23 22:08:14 +01:00
Zoltan Majo
379e3d6fb6 Merge 2015-03-19 18:01:39 +01:00
Coleen Phillimore
57f3125882 Merge 2015-03-13 18:59:41 +00:00
Coleen Phillimore
7b384c6958 8061205: MetadataOnStackMark only needs to walk code cache during class redefinition
Only do full metadata walk during class redefinition and only walk handles during class unloading.

Reviewed-by: sspitsyn, stefank
2015-03-13 12:40:39 -04:00
Goetz Lindenmaier
a7edf52a02 8073315: Enable gcc -Wtype-limits and fix upcoming issues
Relevant fixes in blockOffsetTable.cpp, os_linux.cpp, parCardTableModRefBS.cpp.

Reviewed-by: jwilhelm, kbarrett, simonis
2015-02-16 14:07:36 +01:00
Marcus Larsson
7727fe0044 8072621: Clean up around VM_GC_Operations
Reviewed-by: brutisso, jmasa
2015-02-13 09:48:49 +01:00
Stefan Johansson
dc5a35154d 8069034: gc/g1/TestEagerReclaimHumongousRegionsClearMarkBits.java nightly failure
When checking for humongous objects to reclaim, we dirty cards that might belong to freed regions. Fixed by checking the region before dirtying.

Reviewed-by: tschatzl, brutisso
2015-02-03 15:50:06 +01:00
Erik Helin
be4035c60a 8030646: track collection set membership in one place
Reviewed-by: tschatzl, jwilhelm
2015-01-26 10:32:35 +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
Stefan Karlsson
426a345fec 8075242: Remove SpecializationStats
Reviewed-by: brutisso, mgerdin
2015-03-17 13:23:49 +01:00
Bengt Rutisson
395543dadc 8074037: Refactor the G1GCPhaseTime logging to make it easier to add new phases
Reviewed-by: tschatzl, mgerdin, ecaspole
2015-03-12 10:11:20 +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
Kim Barrett
57198d2b63 8067499: G1SATBCardTableModRefBS should not inherit from CardTableModRefBSForCTRS
G1SATBCardTableModRefBS inherits from CardTableModRefBS

Reviewed-by: mgerdin, brutisso, tschatzl
2014-12-18 13:26:37 -05:00
Jesper Wilhelmsson
12797a11c0 Merge 2014-12-22 17:40:46 +00: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
Jesper Wilhelmsson
dfc952b138 Merge 2014-12-18 16:15:49 +01:00
Kim Barrett
093d2698fc 8066827: Remove ReferenceProcessor::clean_up_discovered_references()
Abandon rather than clean up discovered references.

Reviewed-by: jmasa, ysr
2014-12-17 22:32:44 -05:00
Yumin Qi
e4961abb71 Merge 2014-12-12 20:49:14 -08:00
Max Ockner
1d76295d70 8047290: Make Mutex::_no_safepoint_check_flag locks verify that this lock never checks for safepoint
Ensure consistent safepoint checking in Mutex/Monitor locking methods.

Reviewed-by: dholmes, dcubed, coleenp
2014-12-11 21:34:43 -05:00
Thomas Schatzl
5d868d4e0f 8066102: Clean up HeapRegionRemSet files
Remove dead code, tighten public interfaces and improve documentation in the HeapRegionRemSet implementation.

Reviewed-by: mgerdin, kbarrett
2014-12-09 12:47:19 +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
Jesper Wilhelmsson
9b430f2262 Merge 2014-12-04 10:40:19 +01:00
Yumin Qi
9767fa7cb2 Merge 2014-12-03 20:32:33 -08:00
Max Ockner
91dbd4f088 8060074: os::free() takes MemoryTrackingLevel but doesn't need it
Cleaned up unused arguments in os::free and it's callers.

Reviewed-by: lfoltan, coleenp, ctornqvi, dholmes
2014-12-01 12:16:15 -05:00
Leonid Mesnik
c8a147b8c7 8065579: WB method to start G1 concurrent mark cycle should be introduced
Add a WhiteBox callback to the VM to start a concurrent mark cycle in G1.

Reviewed-by: tschatzl, sjohanss
2014-11-28 09:33:48 +01:00
Mikael Gerdin
b5ef32af36 8065358: Refactor G1s usage of save_marks and reduce related races
Stop using save_marks in G1 related code and make setting the replacement field less racy.

Reviewed-by: brutisso, tschatzl
2014-11-26 10:53:31 +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
Erik Helin
f3997d8eed 8064721: The card tables only ever need two covering regions
Reviewed-by: jmasa, tschatzl, kbarrett
2014-11-18 10:36:42 +01:00
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
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