535 Commits

Author SHA1 Message Date
Bengt Rutisson
c88e3def4d 8034079: G1: Refactor the HeapRegionSet hierarchy
Reviewed-by: tschatzl, pliden
2014-03-14 10:15:46 +01:00
Erik Helin
a45b9ead44 Merge 2014-02-25 11:02:11 +01:00
Thomas Schatzl
7de1730b10 8034948: Back out JDK-6976350 since it does not fix any issue
Revert JDK-6976350 because it does not improve PLAB fragmentation. To the contrary, it tends to increase the amount of wasted space with many threads.

Reviewed-by: brutisso
2014-02-24 10:45:15 +01:00
Thomas Schatzl
2ae60596ed 8035329: Move G1ParCopyClosure::copy_to_survivor_space into G1ParScanThreadState
Move G1ParCopyClosure::copy_to_survivor_space to decrease code size.

Reviewed-by: stefank, jmasa
2014-02-24 09:41:04 +01:00
Thomas Schatzl
dbc8581147 8035326: Assume non-NULL references in G1CollectedHeap::in_cset_fast_test
Remove the assumption that G1CollectedHeap::in_cset_fast_test needs to check for NULL references. Most of the time this is not required, making the code doing this check multiple times.

Reviewed-by: stefank, mgerdin, jmasa
2014-02-24 09:40:49 +01:00
Thomas Schatzl
6c588725c1 8027559: Decrease code size and templatizing in G1ParCopyClosure::do_oop_work
Move methods that are not dependent on any of G1ParCopyClosure's template parameters into G1ParCopyHelper. Further remove unused methods and members of the class hierarchy.

Reviewed-by: mgerdin, stefank
2014-02-24 09:40:21 +01:00
Erik Helin
7b6d31b4a5 Merge 2014-02-21 10:00:46 +01:00
Vladimir Kozlov
5117e1a805 Merge 2014-02-19 12:08:49 -08:00
Stefan Karlsson
2a5c51998d 8034764: Use process_strong_roots to adjust the StringTable
Reviewed-by: tschatzl, brutisso
2014-02-14 09:29:56 +01:00
Stefan Karlsson
2a866afcdb 8034761: Remove the do_code_roots parameter from process_strong_roots
Reviewed-by: tschatzl, mgerdin, jmasa
2014-02-13 17:44:39 +01:00
Vladimir Kozlov
c3a0e80e0b Merge 2014-01-28 12:25:34 -08:00
Erik Helin
e962dec4b7 Merge 2014-01-14 14:26:43 +01:00
Morris Meyer
a665235538 Merge 2014-01-10 12:54:08 -08:00
Per Lidén
ca035a4040 8029162: G1: Shared SATB queue never enabled
Reviewed-by: brutisso, mgerdin, tschatzl
2014-01-10 09:54:25 +01:00
Mikael Vidstedt
a0da47fd66 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
Copyright year updated for files modified during 2013

Reviewed-by: twisti, iveresov
2013-12-24 11:48:39 -08:00
Bengt Rutisson
810bc0c558 8029524: Remove unsused method CollectedHeap::unsafe_max_alloc()
Reviewed-by: pliden, jmasa
2013-12-16 08:54:14 +01:00
Jesper Wilhelmsson
40ba2bba2c 8026849: Fix typos in the GC code, part 2
Fixed typos in assert messages, flag descriptions and verbose messages

Reviewed-by: stefank, tschatzl
2013-12-10 15:11:02 +01:00
Stefan Karlsson
5d460f1f3d 8033923: Use BufferingOopClosure for G1 code root scanning
Reviewed-by: mgerdin, brutisso
2014-02-10 12:58:09 +01:00
Stefan Karlsson
a26a6715b0 8033764: Remove the usage of StarTask from BufferingOopClosure
Reviewed-by: mgerdin, brutisso, tschatzl
2014-02-10 12:51:51 +01:00
Bengt Rutisson
980e57c6c4 8033922: G1: Back out 8033601 and go back to use the to-obj for chunked arrays
Reviewed-by: stefank, tschatzl
2014-02-07 13:48:07 +01:00
Per Lidén
0a63fe1c10 8031703: Missing post-barrier in ReferenceProcessor
Reviewed-by: tonyp, tschatzl
2014-02-06 14:12:43 +01:00
Thomas Schatzl
a81e7a52fc 8033443: Test8000311 fails after latest changes to parallelize string and symbol table unlink
When string and symbol table unlink are not performed in parallel, the claim index we check is not updated, and so a guarantee fails. Take this into account when checking the guarantee.

Reviewed-by: brutisso, jwilhelm
2014-02-05 14:29:34 +01:00
Antonios Printezis
170566f471 8033601: G1: Make array chunking use the same length field as the other young GCs
Use the old copy length instead of the length of the forwarded object for chunked arrays.

Reviewed-by: brutisso, tschatzl
2014-02-05 12:47:48 +01:00
Thomas Schatzl
58f7d4c7e5 8033106: Wrong predicate for checking whether the correct amount of symbol table entries have been processed in G1
The change fixes the predicate check.

Reviewed-by: jmasa, tonyp, stefank
2014-01-31 09:58:06 +01:00
Thomas Schatzl
90c553c06f 6991197: G1: specialize deal_with_reference() for narrowOop*
Clean up and slightly optimize reference handling from the GC reference task queue. Since we never push partial array chunks as narrowOop* we can manually specialize the code so that some code can be optimized away.

Reviewed-by: tonyp, brutisso, stefank
2014-01-31 09:57:50 +01:00
Jesper Wilhelmsson
5301534dc3 8028391: Make the Min/MaxHeapFreeRatio flags manageable
Made the flags Min- and MaxHeapFreeRatio manageable, and implemented support for these flags in ParallalGC.

Reviewed-by: sla, mgerdin, brutisso
2014-01-29 23:17:05 +01:00
Stefan Johansson
a23ee6de8d 8031686: G1: assert(_hrs.max_length() == _expansion_regions) failed
Using pointer_delta to avoid overflowing pointer calculation.

Reviewed-by: jmasa, tschatzl
2014-01-20 10:55:54 +01:00
Bengt Rutisson
9b29efeb63 8030177: G1: Enable TLAB resizing
Reviewed-by: tschatzl, stefank, jmasa
2014-01-27 13:14:53 +01:00
Jesper Wilhelmsson
81ba2e32c0 8025856: Fix typos in the GC code
Fix about 440 typos in comments in the VM code

Reviewed-by: mgerdin, tschatzl, coleenp, kmo, jcoomes
2014-01-23 14:47:23 +01:00
Mikael Gerdin
4c7c3f0613 8032379: Remove the is_scavenging flag to process_strong_roots
Refactor the strong root processing to avoid using a boolean in addition to the ScanOption enum.

Reviewed-by: stefank, tschatzl, ehelin, jmasa
2014-01-14 16:40:33 +01:00
Erik Helin
ba54cfdf88 8031776: Remove the unnecessary enum GenRemSet::Name
Reviewed-by: stefank, tschatzl, jwilhelm
2014-01-20 17:15:55 +01:00
Thomas Schatzl
70fd1802a0 8027746: Remove do_gen_barrier template parameter in G1ParCopyClosure
Remove the above mentioned template parameter and related unused code. Also remove some classes that are never used.

Reviewed-by: stefank, mgerdin, jwilhelm
2014-01-20 11:47:53 +01:00
Thomas Schatzl
aeba3a8119 8027454: Do not traverse string table during G1 remark when treating them as strong roots during initial mark
Do not try to unlink string table entries unconditionally during remark. This is without side effects as the preceding initial mark always uses the string table as strong roots. Needs to be fixed with class unloading during concurrent mark.

Reviewed-by: brutisso, mgerdin
2014-01-20 11:47:29 +01:00
Thomas Schatzl
4bb3631855 8027476: Improve performance of Stringtable unlink
8027455: Improve symbol table scan times during gc pauses

Parallelize string table and symbol table scan during remark and full GC. Some additional statistics output if the experimental flag G1TraceStringSymbolTableScrubbing is set.

Reviewed-by: mgerdin, coleenp, brutisso
2014-01-20 11:47:07 +01:00
Erik Helin
5d5b1157d1 8029326: G1 does not check if threads gets created
Reviewed-by: brutisso, jmasa, jwilhelm
2013-12-09 08:20:45 +01:00
Goetz Lindenmaier
46c4ef6572 8029396: PPC64 (part 212): Several memory ordering fixes in C-code
Memory ordering fixes in GC and other runtime code showing on PPC64.

Reviewed-by: kvn, coleenp
2013-12-02 10:26:14 +01:00
Vladimir Kozlov
1b2bf0be10 Merge 2013-12-05 15:13:12 -08:00
Markus Grönlund
b1e3461fe5 8028128: Add a type safe alternative for working with counter based data
Reviewed-by: dholmes, egahlin
2013-11-23 12:25:13 +01:00
Vladimir Kozlov
aabed3781b Merge 2013-11-21 12:30:35 -08:00
Thomas Schatzl
6f46da6198 8027756: assert(!hr->isHumongous()) failed: code root in humongous region?
Change checks for isHumongous() to continuesHumongous() as installing a code root for a humongous object is valid, but not for continuations of humongous objects. Cleaned up asserts.

Reviewed-by: jmasa, tamao
2013-11-07 15:17:10 +01:00
Vladimir Kozlov
39b0e57fdd Merge 2013-11-05 17:38:04 -08:00
Jesper Wilhelmsson
0fa3a71c8a 8016309: assert(eden_size > 0 && survivor_size > 0) failed: just checking
7057939: jmap shows MaxNewSize=4GB when Java is using parallel collector

Major cleanup of the collectorpolicy classes

Reviewed-by: tschatzl, jcoomes
2013-11-01 17:09:38 +01:00
Axel Siebenborn
13418d4800 8025728: Missing volatile specifier for field G1AllocRegion::_alloc_region
The field G1AllocRegion::_alloc_region needs to be declared volatile as it is used with that intention. Otherwise the compiler may generate the code that reloads the value which might have changed in the meantime, leading to spurious crashes.

Reviewed-by: iveresov, simonis, tschatzl
2013-10-23 10:23:06 +02:00
Stefan Johansson
d46d24b7d4 8026848: -XX:+G1SummarizeRSetStats can result in wrong exit code and crash
Changed the use of %d to SIZE_FORMAT macro in format string when printing size_t values.

Reviewed-by: stefank, ehelin
2013-10-22 11:50:12 +02:00
Jesper Wilhelmsson
9705a6e3f9 8026853: Prepare GC code for collector policy regression fix
Cleanup related to the NewSize and MaxNewSize bugs

Reviewed-by: tschatzl, jcoomes, ehelin
2013-10-21 18:56:20 +02:00
Jesper Wilhelmsson
1123a5596c 8026851: Remove unnecessary code in GenRemSet
Removed the GenRemSet::rem_set_name() since we only have one remset.

Reviewed-by: stefank, mgerdin, tschatzl
2013-10-21 18:51:37 +02:00
Jesper Wilhelmsson
588c91b042 8023643: G1 assert failed when NewSize was specified greater than MaxNewSize
Exit with an error if incompatible NewSize and MaxNeSize are set

Reviewed-by: brutisso, tschatzl
2013-10-12 00:49:19 +02:00
John Coomes
e61cbf8d69 Merge 2013-10-11 08:27:21 -07:00
Mikael Gerdin
7f3b537807 8014555: G1: Memory ordering problem with Conc refinement and card marking
Add a StoreLoad barrier in the G1 post-barrier to fix a race with concurrent refinement. Also-reviewed-by: martin.doerr@sap.com

Reviewed-by: iveresov, tschatzl, brutisso, roland, kvn
2013-10-08 17:35:51 +02:00
John Coomes
875078a4e0 Merge 2013-10-04 13:37:25 -07:00