1043 Commits

Author SHA1 Message Date
Thomas Schatzl
42e4a6003c 8037344: Use the "next" field to iterate over fine remembered instead of using the hash table
After changes to the PerRegionTable where all these PRTs are linked together in an additional field, simplify iterating over all PRTs by using these links instead of walki

Reviewed-by: mgerdin, jwilhelm, brutisso
2014-04-16 10:55:58 +02:00
Thomas Schatzl
aa00878260 8027553: Change the in_cset_fast_test functionality to use the G1BiasedArray abstraction
Instead of using a manually managed array for the in_cset_fast_test array, use a G1BiasedArray instance.

Reviewed-by: brutisso, mgerdin
2014-04-16 10:55:26 +02:00
Thomas Schatzl
f8088df0b4 8038930: G1CodeRootSet::test fails with assert(_num_chunks_handed_out == 0) failed: No elements must have been handed out yet
The test incorrectly assumed that it had been started with no other previous compilation activity. Fix this by allowing multiple code root free chunk lists, and use one separate from the global one to perform the test.

Reviewed-by: brutisso
2014-04-16 10:14:50 +02:00
Stefan Karlsson
a97ce35fab 8039957: Replace the last few %p usages with PTR_FORMAT in the GC code
Reviewed-by: jwilhelm, sjohanss, jmasa
2014-04-15 20:46:23 +02:00
Per Lidén
f1edf66ef8 8039147: Cleanup SuspendibleThreadSet
Reviewed-by: brutisso, tschatzl, mgerdin
2014-04-11 12:29:24 +02:00
Per Lidén
a3425b64f0 8037112: gc/g1/TestHumongousAllocInitialMark.java caused SIGSEGV
Reviewed-by: brutisso, mgerdin
2014-04-11 11:00:12 +02:00
Stefan Karlsson
d78446aa45 8039743: Use correct format specifier to print size_t values and pointers in the GC code
Co-authored-by: Mikael Vidstedt <mikael.vidstedt@oracle.com>
Reviewed-by: jmasa, sjohanss
2014-04-09 13:54:32 +02:00
Erik Helin
4bc795f2db Merge 2014-04-08 13:50:58 +02:00
Erik Helin
dda69c88e0 Merge 2014-04-04 10:24:48 +02:00
Stefan Karlsson
6583b826bb 8039244: Don't use UINT32_FORMAT and INT32_FORMAT when printing uints and ints in the GC code
Reviewed-by: brutisso, tschatzl
2014-04-04 09:46:10 +02:00
Jesper Wilhelmsson
034d486b08 8039089: List verification enabled in product builds
Replaced the verification call to a conditional one that only runs verification in debug builds.

Reviewed-by: brutisso, tschatzl
2014-04-03 16:20:16 +02:00
Kevin Walls
fd0bcaa2b2 Merge 2014-04-03 11:21:33 -07:00
Vladimir Kempik
0ab60ab172 8016302: Change type of the number of GC workers to unsigned int (2)
Reviewed-by: tschatzl, jwilhelm
2014-04-03 17:49:31 +04:00
David Simms
91dcc35215 8037295: Add size_t versions of Atomic::add, dec, and inc
Reviewed-by: dholmes, fparain
2014-04-01 15:45:36 +02:00
Erik Helin
977d1f7a5d 8038934: Remove prefix allocated_ from methods and variables in Metaspace
Reviewed-by: jmasa, coleenp
2014-03-31 17:09:38 +02:00
Goetz Lindenmaier
f67a3b7e04 8038498: Fix includes and C inlining after 8035330
Change 8035330: Remove G1ParScanPartialArrayClosure and G1ParScanHeapEvacClosure broke the debug build on AIX. The method do_oop_partial_array() is added in a header, but requires the inline function par_write_ref() through several inlined calls. In some cpp files, like arguments.cpp, par_write_ref() is not defined as the corresponding inline header and is not included. The AIX debug VM does not start because of the missing symbol. This change solves this by cleaning up include dependencies.

Reviewed-by: tschatzl, stefank
2014-04-02 09:17:38 +02:00
Bengt Rutisson
1f5e01e4f4 8038829: G1: More useful information in a few assert messages
Reviewed-by: sjohanss, jmasa
2014-04-01 07:46:51 +02:00
Erik Helin
a00bf70f6f 8035667: EventMetaspaceSummary doesn't report committed Metaspace memory
Reviewed-by: jmasa, stefank
2014-03-26 14:15:02 +01:00
Andreas Sjoberg
0a39721031 8026784: Error message in AdaptiveFreeList<Chunk>::verify_stats is wrong
Changed faulty error message in the verification code

Reviewed-by: stefank, tschatzl
2014-05-06 09:41:04 +02:00
Jesper Wilhelmsson
0346ae4c9d 8027643: Merge GenCollectorPolicy and TwoGenerationCollectorPolicy
Merged the two calsses GenCollectorPolicy and TwoGenerationCollectorPolicy

Reviewed-by: sjohanss, jcoomes
2014-04-29 22:57:19 +02:00
Mikael Gerdin
74235d9630 8038399: Remove dead oop_iterate MemRegion variants from SharedHeap, Generation and Space classes
Reviewed-by: tschatzl, stefank
2014-03-06 09:08:18 +01:00
Tao Mao
7a39c2c7d5 6521376: MaxTenuringThreshold and AlwayTenure/NeverTenure consistency
Adapt InitialTenuringThreshold and MaxTenuringThreshold according to AlwaysTenure/NeverTenure flag setting.

Reviewed-by: jmasa, tschatzl
2014-03-26 12:49:34 +01:00
Mikael Gerdin
547e8e4b75 8037958: ConcurrentMark::cleanup leaks BitMaps if VerifyDuringGC is enabled
Allocate temporary BitMaps in the VMThread's resource area

Reviewed-by: stefank, sjohanss
2014-03-26 10:54:52 +01:00
Per Lidén
4a4c0fce93 8029075: String deduplication in G1
Implementation of JEP 192, http://openjdk.java.net/jeps/192

Reviewed-by: brutisso, tschatzl, coleenp
2014-03-18 19:07:22 +01:00
Jesper Wilhelmsson
1e1ad7f132 8036025: Sort the freelist in order to shrink the heap
The free list is being maintained in a sorted fashion and old and humongous regions are allocated from the bottom of the heap while young regions are allocated at the top.

Co-authored-by: Staffan Friberg <staffan.friberg@oracle.com>
Reviewed-by: tschatzl, mgerdin
2014-02-28 15:27:09 +01:00
Erik Helin
853fffb2cb 8036703: Add trace event with statistics for the metaspace chunk free lists
Reviewed-by: stefank, mgerdin, coleenp, egahlin
2014-03-18 09:03:28 +01:00
Erik Helin
1fb0683664 8036696: Add metaspace gc threshold to metaspace summary trace event
Reviewed-by: jmasa, stefank, mgerdin
2014-03-17 17:31:46 +01:00
Per Lidén
731ef44b87 8036673: G1: Abort weak reference processing if mark stack overflows
Reviewed-by: brutisso, tschatzl
2014-03-17 15:18:45 +01:00
Per Lidén
d75f47a49d 8036672: G1: alloc_purpose in copy_to_survivor_space() used incorrectly
Reviewed-by: brutisso, tschatzl
2014-03-17 15:18:38 +01:00
Bengt Rutisson
13792b1aa7 8037407: G1: Remove heapRegionSets.cpp
Reviewed-by: tschatzl, pliden
2014-03-17 13:42:16 +01:00
Thomas Schatzl
a07b2194f7 8036860: Pad and cache-align the BiasedMappedArray
Pad and cache-align BiasedMappedArray instances by default to avoid performance variability problems due to false sharing, as instances of this data structures are typically used for performance sensitive code.

Reviewed-by: brutisso, stefank
2014-03-17 13:07:55 +01:00
Thomas Schatzl
483ea400a5 8035330: Remove G1ParScanPartialArrayClosure and G1ParScanHeapEvacClosure
Mentioned closures are actually wrapped methods. This adds confusion to readers, and in this case also increases code size as G1ParScanHeapEvacClosure is part of the oop_oop_iterate() methods. Move them into G1ParScanThreadState as methods.

Reviewed-by: stefank
2014-03-17 10:07:51 +01:00
Thomas Schatzl
375e6df9ee 8034868: Extract G1 From Card Cache into separate class
Refactor the From Card Cache into a separate class.

Reviewed-by: jmasa
2014-03-17 10:13:55 +01:00
Thomas Schatzl
2a8616c9d6 8035654: Add times for evacuation failure handling in "Other" time
Detailed breakdown of time spent in the evacuation failure handling phases to make the "Other" time roughly correspond to the sum of its parts.

Reviewed-by: jwilhelm, jmasa
2014-03-17 10:13:42 +01:00
Thomas Schatzl
80188ce0b2 8035398: Add card redirty time in "Other" time in G1
Show the time taken by card redirtying during GC in a new "Redirty Cards" line.

Reviewed-by: jwilhelm, brutisso
2014-03-17 10:13:27 +01:00
Thomas Schatzl
d3e28ca682 8027295: Free CSet takes ~50% of young pause time
Improve fast card cache iteration and avoid taking locks when freeing the collection set.

Reviewed-by: brutisso
2014-03-17 10:13:18 +01:00
Thomas Schatzl
cde8aa670b 8035815: Cache-align and pad the from card cache
The from card cache is a very frequently accessed data structure. It is essentially a 2d array of per-region values, one row of values for every GC thread. Pad and align the data structure to avoid false sharing.

Reviewed-by: stefank
2014-03-17 10:12:47 +01:00
Thomas Schatzl
329e55e7b0 8035406: Improve data structure for Code Cache remembered sets
Change the code cache remembered sets data structure from a GrowableArray to a chunked list of nmethods. This makes the data structure more amenable to parallelization, and decreases freeing time.

Reviewed-by: mgerdin, brutisso
2014-03-17 10:12:21 +01:00
Bengt Rutisson
c88e3def4d 8034079: G1: Refactor the HeapRegionSet hierarchy
Reviewed-by: tschatzl, pliden
2014-03-14 10:15:46 +01:00
Jon Masamitsu
8c7d064ee8 7098155: Resize young gen at full collections for UseParallelGC
Reviewed-by: tschatzl
2014-03-05 07:34:35 -08:00
Stefan Johansson
b1cfdfafe2 8028498: runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java asserts in RT_Baseline
Preventing GCs to occur before VM is completely initialized. This was previously partly done by one part of the GC locker which not was removed.

Reviewed-by: coleenp, pliden
2014-02-13 10:05:03 +01:00
Stefan Karlsson
a8f01c3f99 8038630: Remove ExtendedOopClosure::prefetch_style()
Reviewed-by: coleenp, jmasa
2014-03-28 14:15:03 +01:00
Stefan Karlsson
f2de069dc2 8038628: Remove unused Closure::abort()
Reviewed-by: coleenp, jmasa
2014-03-28 14:03:11 +01:00
Mikael Gerdin
1fdc7cd78f 8038405: Clean up some virtual fucntions in Space class hierarchy
Get rid of some duplicated implementations and change nonsense implementations to pure virtuals

Reviewed-by: stefank, jmasa
2014-03-12 15:25:35 +01:00
Mikael Gerdin
c62c16f94a 8038412: Move object_iterate_careful down from Space to ContigousSpace and CFLSpace
Only declare the functions where they are actually needed.

Reviewed-by: tschatzl, stefank
2014-03-12 17:13:48 +01:00
Mikael Gerdin
e72dd1b433 8038404: Move object_iterate_mem from Space to CMS since it is only ever used by CMS
Reviewed-by: brutisso, tschatzl, stefank
2014-03-12 15:22:45 +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