759 Commits

Author SHA1 Message Date
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
Jesper Wilhelmsson
582aa55e4d 8025852: Remove unnecessary setters in collector policy classes
Use instance variables directly within the collector policy classes and remove unused setters.

Reviewed-by: tschatzl, jcoomes
2013-10-03 21:36:29 +02:00
Bengt Rutisson
ac3d344514 8025605: G1: Heap expansion logging misleading for fully expanded heap
Reviewed-by: tschatzl, jwilhelm, jmasa
2013-10-01 07:52:52 +02:00
Thomas Schatzl
f144f37f49 8025441: G1: assert "assert(thread < _num_vtimes) failed: just checking" fails when G1ConcRefinementThreads > ParallelGCThreads
The initialization for the remembered set summary data structures used the wrong thread count, i.e. number of worker threads instead of number of refinement threads.

Reviewed-by: brutisso
2013-09-30 12:43:59 +02:00
Zhengyu Gu
bfafab7b47 Merge 2013-09-27 10:08:56 -04:00
Lois Foltan
7bf953d005 7195622: CheckUnhandledOops has limited usefulness now
Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms.

Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin
2013-09-26 10:25:02 -04:00
Thomas Schatzl
ab5637182c 7163191: G1: introduce a "heap spanning table" abstraction
Add G1BiasedArray<T> that is an array where each element represents a fixed-sized subdivision of the heap. Use this abstraction to refactor the HeapRegionSeq class.

Reviewed-by: brutisso
2013-09-25 13:25:24 +02:00
Mikael Gerdin
b8363e6615 8025305: Cleanup CardTableModRefBS usage in G1
Move some G1 specific code from CardTableModRefBS to G1SATBCardTableModRefBS.

Reviewed-by: brutisso, tschatzl, ehelin
2013-09-24 14:46:29 +02:00
Thomas Schatzl
bd9ffce267 8014078: G1: improve remembered set summary information by providing per region type information
Add memory consumption breakdown on a per region type in the G1 remembered set summary statistics. This simplifies remembered set memory consumption analysis.

Reviewed-by: brutisso
2013-09-26 12:49:45 +02:00
Niclas Adlertz
afef481831 Merge 2013-09-19 18:01:39 +02:00
Niclas Adlertz
c2ed47a76e Merge 2013-09-17 05:30:19 -07:00
Christian Thalinger
4fa99b3fc5 8024760: add more types, fields and constants to VMStructs
Reviewed-by: kvn, coleenp
2013-09-13 16:55:44 -07:00
Aleksey Shipilev
403a37663a 8024671: G1 generates assert error messages in product builds
Reviewed-by: brutisso, tschatzl
2013-09-13 07:57:13 +02:00
Thomas Schatzl
962008f22b 8010722: assert: failed: heap size is too big for compressed oops
Use conservative assumptions of required alignment for the various garbage collector components into account when determining the maximum heap size that supports compressed oops. Using this conservative value avoids several circular dependencies in the calculation.

Reviewed-by: stefank, dholmes
2013-09-11 16:25:02 +02:00
Thomas Schatzl
87a98b7267 8021823: G1: Concurrent marking crashes with -XX:ObjectAlignmentInBytes>=32 in 64bit VMs
Correctly calculate the initialization value for the shift between object start and bitmap bit in the G1 mark bitmaps.

Reviewed-by: tonyp
2013-09-11 10:19:16 +02:00
Vladimir Kozlov
1a700c9216 Merge 2013-09-05 11:04:39 -07:00
Jon Masamitsu
ce2d714a66 Merge 2013-08-27 18:55:33 -07:00
Jon Masamitsu
a984bd23ad Merge 2013-08-23 15:59:20 -07:00
Jon Masamitsu
892e74a87e Merge 2013-08-22 11:13:17 -07:00
Erik Helin
27e891247e 8020692: TestGCEventMixed.java failed because of timestamp in event after end event
Reviewed-by: mgerdin, stefank
2013-08-22 11:23:15 +02:00
Bengt Rutisson
6d7626dba4 8019902: G1: Use the average heap size rather than the minimum heap size to calculate the region size
Reviewed-by: tonyp, tschatzl, sjohanss
2013-08-30 07:31:47 +02:00
Bengt Rutisson
4c3c3b6caa 8022872: G1: Use correct GC cause for young GC triggered by humongous allocations
Reviewed-by: tonyp, tschatzl
2013-08-21 22:35:56 +02:00
Stefan Karlsson
7ade7987a0 8007074: SIGSEGV at ParMarkBitMap::verify_clear()
Replace the broken large pages implementation on Linux. New flag: -XX:+UseTransparentHugePages - Linux specific flag to turn on transparent huge page hinting with madvise(..., MAP_HUGETLB). Changed behavior: -XX:+UseLargePages - tries to use -XX:+UseTransparentHugePages before trying other large pages implementations (on Linux). Changed behavior: -XX:+UseHugeTLBFS - Use upfront allocation of Large Pages instead of using the broken implementation to dynamically committing large pages. Changed behavior: -XX:LargePageSizeInBytes - Turned off the ability to use this flag on Linux and provides warning to user if set to a value different than the OS chosen large page size. Changed behavior: Setting no large page size - Now defaults to use -XX:UseTransparentHugePages if the OS supports it. Previously, -XX:+UseHugeTLBFS was chosen if the OS was configured to use large pages.

Reviewed-by: tschatzl, dcubed, brutisso
2013-08-16 13:22:32 +02:00
Bengt Rutisson
5e41090120 8023145: G1: G1CollectedHeap::mark_strong_code_roots() needs to handle ParallelGCThreads=0
Reviewed-by: stefank, mgerdin
2013-08-16 11:26:09 +02:00
John Cuthbertson
f63547bf71 7145569: G1: optimize nmethods scanning
Add a list of nmethods to the RSet for a region that contain references into the region. Skip scanning the code cache during root scanning and scan the nmethod lists during RSet scanning instead.

Reviewed-by: tschatzl, brutisso, mgerdin, twisti, kvn
2013-08-15 10:52:18 +02:00
Erik Helin
3ea9481c2f 8014659: NPG: performance counters for compressed klass space
Reviewed-by: mgerdin, coleenp, hseigel, jmasa, ctornqvi
2013-08-07 16:47:32 +02:00
Bengt Rutisson
fbf4750c28 8022051: G1: Remove some unused G1 flags
Reviewed-by: tschatzl, jmasa
2013-08-01 17:29:49 +02:00
Bengt Rutisson
a1e1caf8ba 8021879: G1: G1HeapRegionSize flag value not updated correctly
Reviewed-by: tschatzl, jmasa
2013-08-01 09:35:04 +02:00
Vladimir Kozlov
1619c53530 Merge 2013-08-16 16:23:01 -07:00