759 Commits

Author SHA1 Message Date
Marcus Larsson
59bc281604 8035729: Code using assert(is_oop_or_null) needs better error messages
Modified error messages to include the oops

Reviewed-by: stefank, tschatzl
2014-09-18 11:04:00 +02:00
Marcus Larsson
d90a333e5b 8053998: Hot card cache flush chunk size too coarse grained
Changed the chunk size to a smaller fixed number.

Reviewed-by: tschatzl, mgerdin
2014-09-18 11:27:59 +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
Joseph Provino
bc07a22d12 8058534: Remove HeapRegion::_orig_end
Also reviewed by kim.barrett@oracle.com

Reviewed-by: tonyp, brutisso, tschatzl
2014-09-19 09:23:55 +02:00
Thomas Schatzl
d840f222df 8057143: Incomplete renaming of variables containing "hrs" to "hrm" related to HeapRegionSeq
Fixup the remaining variable names.

Reviewed-by: tonyp, jwilhelm
2014-09-03 17:01:57 +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
146c4f6999 Merge 2014-08-28 17:06:29 +02:00
Thomas Schatzl
344be39551 8054808: Bitmap verification sometimes fails after Full GC aborts concurrent mark
The verification code that checked whether no bitmap mark had been found re-read HeapRegion::end() after the check on the bitmap. Concurrent humongous object allocation could have changed HeapRegion::end() in the meantime. Fix this by using the actual end of the region instead of HeapRegion::end() for comparison.

Reviewed-by: brutisso, jmasa
2014-08-28 17:05:41 +02:00
Bengt Rutisson
663618a6a1 Merge 2014-08-27 09:22:22 +00:00
Bengt Rutisson
bbe82cb85b 8055816: Remove dead code in g1BlockOffsetTable
Reviewed-by: tschatzl, mgerdin
2014-08-27 10:51:08 +02:00
Thomas Schatzl
b89a9d94b5 8056043: Heap does not shrink within the heap after JDK-8038423
Enable shrinking within the heap by removing some code added for JDK-8054818. Enable the test case that checks that again too.

Reviewed-by: jwilhelm, jmasa
2014-08-27 08:59:05 +02:00
Thomas Schatzl
f789d43b8e 8055919: Remove dead code in G1 concurrent marking code
Reviewed-by: jmasa, jwilhelm
2014-08-26 14:15:50 +02:00
Thomas Schatzl
9086b5795f 8054819: Rename HeapRegionSeq to HeapRegionManager
Reviewed-by: jwilhelm, jmasa
2014-08-26 09:36:53 +02:00
Stefan Karlsson
57cb2ef95e Merge 2014-08-25 07:35:36 +00: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
Bengt Rutisson
e1cf783e06 8055818: Remove PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC from g1BlockOffsetTable.cpp
Reviewed-by: stefank, mgerdin
2014-08-25 08:27:19 +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
ad89797fbd 8055635: Missing include in g1RegionToSpaceMapper.hpp results in unresolved symbol of fastdebug build without precompiled headers
Reviewed-by: mgerdin, ehelin
2014-08-20 15:04:39 +02:00
Thomas Schatzl
7fe4686591 8055525: Bigapp weblogic+medrec fails to startup after JDK-8038423
If large pages are enabled and configured in Linux, the VM always pre-commits the entire space. The VM fails verification of the commit of the initial heap because some internal data structure marked all memory pages of the heap as committed during initialization. This makes the code think that we attempted a double-commit during first allocation of the heap. Remove the initial marking of memory pages of the heap to committed.

Reviewed-by: mgerdin
2014-08-20 14:34:40 +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
Daniel D. Daugherty
8937a201e0 Merge 2014-08-13 13:29:45 -07:00
Zhengyu Gu
d595244c27 Merge 2014-08-11 07:20:39 -07:00
Zhengyu Gu
f0cf82f571 8046598: Scalable Native memory tracking development
Enhance scalability of native memory tracking

Reviewed-by: coleenp, ctornqvi, gtriantafill
2014-08-07 12:18:58 -07:00
Marcus Larsson
ae0190f121 8051837: Remove temporary G1UseParallelRSetUpdating and G1UseParallelRSetScanning flags
Reviewed-by: stefank, tschatzl
2014-08-07 09:35:08 +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
94d0494b27 8054341: Remove some obsolete code in G1CollectedHeap class
Remove dead code.

Reviewed-by: stefank, brutisso
2014-08-07 22:28:53 +02:00
Thomas Schatzl
24bee82e67 8052170: G1 asserts at collection exit with -XX:-G1DeferredRSUpdate
Do not try to verify timing measures for the redirty logged cards phase when it is not executed.

Reviewed-by: brutisso, jmasa
2014-08-07 22:28:16 +02:00
Jon Masamitsu
5f2c33e42b 8031323: Optionally align objects copied to survivor spaces
Reviewed-by: brutisso, tschatzl
2014-08-01 15:40:12 -07:00
Kim Barrett
b585c203ac 8048949: Requeue queue implementation
Devirtualize flush and move calls.

Reviewed-by: brutisso, tschatzl, mschoene
2014-07-31 11:10:02 +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
Martin Doerr
071c3a3924 8050973: CMS/G1 GC: add missing Resource and Handle mark
Add Resource/HandleMark in the work() method of some AbstractGangTask to reclaim these resources earlier.

Reviewed-by: tschatzl, goetz
2014-07-29 10:26:09 +02:00
Jon Masamitsu
7774fe7ed1 Merge 2014-07-24 15:06:36 -07:00
Jon Masamitsu
e242f23105 Merge 2014-07-23 14:06:28 -07: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
Thomas Schatzl
2e37a94622 8048085: Aborting marking just before remark results in useless additional clearing of the next mark bitmap
Skip clearing the next bitmap if we just recently aborted since the full GC already clears this bitmap.

Reviewed-by: brutisso
2014-07-21 09:59:46 +02:00
Thomas Schatzl
1ad5cdb4a4 8049051: Use of during_initial_mark_pause() in G1CollectorPolicy::record_collection_pause_end() prevents use of seperate object copy time prediction during marking
Replaced use of during_initial_mark_pause() with the variable last_pause_included_initial_mark that holds the real old value of _during_initial_mark_pause.

Reviewed-by: brutisso, ehelin
2014-07-21 09:59:37 +02:00
Coleen Phillimore
3f0a945468 8004128: NPG: remove stackwalking in Threads::gc_prologue and gc_epilogue code
Remove bcx and mdx handling.  We no longer have to convert bytecode pointers to indices for GC since Methods aren't moved.

Reviewed-by: mgerdin, kvn
2014-07-17 15:45:46 -04: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
aec070cb69 8040977: G1 crashes when run with -XX:-G1DeferredRSUpdate
When G1 is run with -XX:-G1DeferredRSUpdate, the VM crashes because of wrong initialization order of member variables. The change makes the initalization explicit, not relying on initialization order any more.

Reviewed-by: brutisso, mgerdin
2014-06-26 16:01:07 +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
1e1ef4f73f 8047818: G1 HeapRegions can no longer be ContiguousSpaces
Change parent of G1OffsetTableContigSpace to CompactibleSpace, reimplement missing functionality

Reviewed-by: stefank, jmasa, tschatzl
2014-06-26 11:36:58 +02:00
Mikael Gerdin
ebdab477c7 8048214: Linker error when compiling G1SATBCardTableModRefBS after include order changes
Reviewed-by: stefank, brutisso, tschatzl
2014-06-26 13:20:18 +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