329 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
Stefan Karlsson
24fcad36b4 8047323: Remove unused _copy_metadata_obj_cl in G1CopyingKeepAliveClosure
Reviewed-by: mgerdin, tschatzl
2014-06-25 08:28:01 +02:00
Per Lidén
d0e17d1ff0 8046231: G1: Code root location ... from nmethod ... not in strong code roots for region
Reviewed-by: tschatzl, ehelin
2014-06-23 16:43:41 +02:00
Goetz Lindenmaier
8e7c8f1d88 8044775: Improve usage of umbrella header atomic.inline.hpp
Reviewed-by: stefank, kvn
2014-06-04 11:56:44 +02:00
Bengt Rutisson
9672a26d51 8043607: Add a GC id as a log decoration similar to PrintGCTimeStamps
Reviewed-by: jwilhelm, ehelin, tschatzl
2014-06-19 13:31:14 +02:00
Per Lidén
5e1811cd0e 8044796: G1: Enable G1CollectedHeap::stop()
Reviewed-by: brutisso, sjohanss
2014-06-13 13:46:06 +02:00
Jesper Wilhelmsson
ded8b863dd 8042298: Remove the names gen0 and gen1 from the GC code
Renamed gen0 and gen1 to young and old throughout the GC code.

Reviewed-by: sjohanss, jcoomes
2014-05-02 02:11:34 +02:00
Per Lidén
9c1843a7c3 8044768: Backout fix for JDK-8040807
Reviewed-by: brutisso, ehelin
2014-06-04 14:16:20 +02:00
Bengt Rutisson
f013a5db3b Merge 2014-06-03 09:34:04 +00:00
Bengt Rutisson
426151a22e 8043239: G1: Missing post barrier in processing of j.l.ref.Reference objects
Removed all write barriers during reference processing and added explicit write barriers when iterating through the discovered list.

Reviewed-by: pliden, jmasa, tschatzl
2014-06-03 10:44:36 +02:00
Per Lidén
2652623308 8040807: G1: Enable G1CollectedHeap::stop()
Reviewed-by: brutisso, jmasa, tschatzl
2014-06-03 10:37:46 +02:00
Christian Thalinger
67ad89efd5 Merge 2014-05-22 16:26:05 -07:00
Coleen Phillimore
c336175c94 8038212: Method::is_valid_method() check has performance regression impact for stackwalking
Only prune metaspace virtual spaces at safepoint so walking them is safe outside a safepoint.

Reviewed-by: mgerdin, mgronlun, hseigel, stefank
2014-05-15 18:23:26 -04:00
Coleen Phillimore
388434f387 Merge 2014-05-12 09:47:57 -04:00
David Chase
305ec3bd3f 8037816: Fix for 8036122 breaks build with Xcode5/clang
Repaired or selectively disabled offending formats; future-proofed with additional checking

Reviewed-by: kvn, jrose, stefank
2014-05-09 16:50:54 -04:00
Goetz Lindenmaier
fb62773268 8042737: Introduce umbrella header prefetch.inline.hpp
Reviewed-by: twisti, stefank
2014-05-08 15:37:17 +02:00
Gerard Ziemski
ed9c096396 8038654: Separate SymbolTable and StringTable code
Refactor stringTable class out of symbolTable, making sure all includes are minimal set and are sorted.

Reviewed-by: coleenp, stefank
2014-05-07 14:16:45 -05:00
Goetz Lindenmaier
6e6f0720a9 8042195: Introduce umbrella header orderAccess.inline.hpp
Reviewed-by: dholmes, kvn, stefank, twisti
2014-04-29 15:17:27 +02:00
Bengt Rutisson
9968a23667 7132678: G1: verify that the marking bitmaps have no marks for objects over TAMS
Co-authored-by: Tony Printezis <tony.printezis@oracle.com>
Reviewed-by: jmasa, tschatzl, ehelin
2014-04-29 09:33:20 +02:00
Per Lidén
820ae7109e 8040245: G1: VM hangs during shutdown
Temporarily disable the shutdown of the concurrent GC threads introduced in JDK-8037112

Reviewed-by: brutisso, tschatzl, jmasa
2014-04-17 18:47:15 +02:00
Bengt Rutisson
5d967f0aea 8040722: G1: Clean up usages of heap_region_containing
Reviewed-by: tschatzl, jmasa
2014-04-17 15:57:02 +02:00
Thomas Schatzl
69c3c31317 8040002: Clean up code and code duplication in re-diryting cards for verification
Card re-dirtying code for verification and actual redirtying uses two different, almost completely identical card closures. Also the verification code still assumes a perm gen.

Reviewed-by: brutisso, jmasa
2014-04-16 16:47:02 +02:00
Thomas Schatzl
c5ef16027b 8019342: G1: High "Other" time most likely due to card redirtying
Parallelize card redirtying to decrease the time it takes.

Reviewed-by: brutisso
2014-04-16 16:46:58 +02:00
Thomas Schatzl
0f9e30ad06 8028710: G1 does not retire allocation buffers after reference processing work
G1 does not retire allocation buffers after reference processing work when -XX:+ParallelRefProcEnabled is enabled. This causes wrong calculation of PLAB sizes, as the amount of space wasted is not updated correctly.

Reviewed-by: brutisso
2014-04-16 11:05:37 +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
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
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
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
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