52 Commits

Author SHA1 Message Date
Thomas Schatzl
4a849fb21c 8133530: Add JFR event for evacuation statistics
Introduce two new JFR events for young/old generation allocation statistics based on previous changes.

Reviewed-by: ehelin, mgerdin
2015-08-20 15:17:41 +02:00
Thomas Schatzl
0ade675b8b 8073013: Add detailed information about PLAB memory usage
Track and provide information about direct allocation, region end waste and failure waste for G1.

Reviewed-by: jmasa, david, ehelin, mgerdin
2015-08-19 13:59:39 +02:00
Thomas Schatzl
43a6ce61de 8133470: Uses of Atomic methods in plab.hpp should be moved to .inline.hpp file
Fix include file dependencies according to general guidelines for plab.hpp

Reviewed-by: ehelin, mgerdin
2015-08-19 13:50:50 +02:00
Thomas Schatzl
8c2da662ff 8003237: G1: Reduce unnecessary (and failing) allocation attempts when handling an evacuation failure
Remember for every generation whether the memory for that generation has already been exhausted. If so, do not try to get a new region for these generations. Further, if the last generation is full, early exit from copy_to_survivor_space.

Reviewed-by: jmasa, brutisso
2015-08-19 13:47:40 +02:00
Erik Helin
9bc2e29405 8133825: Remove the class G1CollectorPolicyExt
Reviewed-by: jwilhelm, ecaspole
2015-08-20 10:27:04 +02:00
Stefan Karlsson
e25bcfd3d3 8087323: Unify and split the work gang classes
Reviewed-by: jmasa, sjohanss
2015-06-29 11:09:39 +02:00
Axel Siebenborn
d32b06427d 8133121: Move implementation of process_grey_object to concurrentMark.inline.hpp
Move implementation of process_grey_object to inline.hpp

Reviewed-by: kbarrett, simonis
2015-08-13 09:32:01 +02:00
David Lindholm
b206c669f7 8133193: Memory leak in G1 because G1RootProcessor doesn't have desctructor
Reviewed-by: mgerdin, tschatzl
2015-08-12 16:32:29 +02:00
Thomas Schatzl
c6cfb3a7fd 8133042: Remove some direct accesses of G1Allocator to G1CollectedHeap members
Remove direct access to private members of G1CollectedHeap from G1Allocator and G1ArchiveAllocator. Allows removal of friend delcarations.

Reviewed-by: kbarrett, jmasa, jwilhelm
2015-08-07 15:37:07 +02:00
Thomas Schatzl
c2d0a8dbd0 8133047: Rename G1ParScanThreadState::_queue_num to _worker_id
Reviewed-by: jmasa, jwilhelm
2015-08-06 15:52:33 +02:00
Thomas Schatzl
183850cec4 8133043: Clean up code related to termination stats printing
Reformat termination stats related code to make it look more similar to existing code.

Reviewed-by: jwilhelm, jmasa
2015-08-06 15:49:52 +02:00
Thomas Schatzl
6e3ffb1aae 8073052: Rename and clean up the allocation manager hierarchy in g1Allocator.?pp
Fix naming of G1ParGCAllocator, decrease dependencies between G1CollectedHeap, G1Allocator and G1AllocRegion, additional documentation.

Reviewed-by: mgerdin, jmasa, kbarrett
2015-08-06 15:49:50 +02:00
Sangheon Kim
a13fe250b0 8130459: Add additional validation after heap creation
Some PLAB related flags' validation can happen after heap creation. Introduced additional stage of validation check.

Reviewed-by: coleenp, dholmes, kbarrett, gziemski, ecaspole, ddmitriev
2015-07-27 13:56:26 -07:00
Kim Barrett
093ee9b659 8079082: VerifyNoCSetOopsClosure is derived twice from Closure
Change closure to a function object and update iteration

Reviewed-by: mgerdin, ecaspole
2015-07-27 14:05:55 -04:00
Eric Caspole
cf7ea2f64e 8132148: G1 hs_err region dump legend out of sync with region values
Use E for Eden, S for Survivor, O for Old

Reviewed-by: tschatzl, tbenson
2015-07-24 10:32:00 -04:00
Walter Florian Gugenberger
ca0fd4b1fe 8004687: G1: Parallelize object self-forwarding and scanning during an evacuation failure
Use the regular task queue during evacuation failure and allow per-thread preserved header queues to remove the global lock during evacuation failure.

Reviewed-by: mgerdin, jmasa
2015-07-23 11:14:47 +02:00
Erik Helin
57553520be 8131319: Move G1Allocator::_summary_bytes_used back to G1CollectedHeap
G1Allocator::_summary_bytes_used fits better in G1CollectedHeap since we added the archive allocator. Move it back to the original location.

Reviewed-by: mgerdin, tbenson
2015-07-23 11:14:24 +02:00
Thomas Schatzl
70eeaa4735 8131166: Remove additional whitespace in G1Allocator
Reviewed-by: jmasa, tbenson
2015-07-16 11:54:37 +02:00
Jon Masamitsu
bd52f0a2ef Merge 2015-07-07 18:16:06 +00:00
Sangheon Kim
3e36930486 8079555: REDO - Determining the desired PLAB size adjusts to the the number of threads at the wrong place
Calculate the desired PLAB value for a single thread and then return desired PLAB size according to the current number of threads when needed

Reviewed-by: jmasa, tschatzl
2015-07-07 06:37:10 -07:00
Thomas Schatzl
c8c4924aa3 8129558: Coalesce dead objects during removal of self-forwarded pointers
To improve performance of self-forwarding fixup during evacuation failure, coalesce the work done for dead objects.

Reviewed-by: mgerdin, tbenson, tonyp
2015-07-07 14:20:08 +02:00
Stefan Johansson
c85e4ae56f 8078901: Add trace event for G1 MMU information
Reviewed-by: ehelin, mlarsson
2015-04-30 13:33:23 +02:00
Bengt Rutisson
e7a2bfa767 Merge 2015-06-25 10:52:37 +00:00
Bengt Rutisson
5f4a67087f 8129626: G1: set_in_progress() and clear_started() needs a barrier on non-TSO platforms
Also reviewed by vitalyd@gmail.com

Reviewed-by: pliden, bpittore, bdelsart
2015-06-25 08:15:07 +02:00
Bill Pittore
304b59b0c8 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Need to add a space between macro identifier and string literal

Reviewed-by: stefank, dholmes, kbarrett
2015-06-24 12:12:25 -04:00
Bengt Rutisson
7f2ffe8c0e 8129549: G1: Make sure the concurrent thread does not mix its logging with the STW pauses
Reviewed-by: pliden, tschatzl
2015-06-23 13:26:05 +02:00
Coleen Phillimore
97f69e8b42 Merge 2015-06-19 13:03:58 +00:00
Thomas Schatzl
5084eb24d0 8078669: G1 applies SurvivorAlignmentInBytes to both survivor and old gen
After refactoring of the relevant code in JDK-8060025 the survivor alignment had been applied to any allocation within PLABs. Only do that for survivor allocations again. Improve the related tests to have less variance.

Reviewed-by: jmasa, fzhinkin
2015-06-19 11:27:07 +02:00
Gerard Ziemski
ed2bb8c9fc 8122937: [JEP 245] Validate JVM Command-Line Flag Arguments
Validate the arguments to all JVM command-line flags so as to avoid crashes, and ensure that appropriate error messages are displayed when they are invalid.

Reviewed-by: ddmitriev, dholmes, kbarrett, drwhite, brutisso, coleenp
2015-06-18 14:39:38 -05:00
Severin Gehwolf
709d3d936e 8098552: 8079792 breaks Zero builds without precompiled headers
Include memRegion.hpp in g1BiasedArray.hpp

Reviewed-by: ehelin, sjohanss
2015-06-15 11:50:16 +02:00
Tom Benson
df2efa1c37 8042668: GC Support for shared heap ranges in CDS
Added "Archive Region" support to the G1 GC

Reviewed-by: tschatzl, brutisso
2015-06-12 19:49:54 -04:00
Jiangli Zhou
edcd4cb94b 8015086: add interned strings to the shared archive
Support saving interned strings in shared CDS archive.

Reviewed-by: coleenp, iklam, pliden
2015-06-12 17:29:14 -04:00
David Lindholm
c3f3f0f1bd 8025608: GC trace events missing nursery size information
Reviewed-by: sjohanss, mgerdin
2015-06-12 12:55:32 +02:00
Derek White
24c9ffed42 7097567: G1: abstract and encapsulate collector phases and transitions between them
Reviewed-by: mgerdin, tschatzl
2015-06-05 10:27:41 +02:00
David Lindholm
5f5af54f95 8081382: Make flags ParallelGCThreads and ConcGCThreads of type uint
Reviewed-by: drwhite, stefank
2015-06-05 09:50:09 +02:00
Yasumasa Suenaga
242ce54cc7 8072913: [REDO] GCCause should distinguish jcmd GC.run from System.gc()
GCCause which is caused by GC.run diagnostic command should be different from System.gc() .

Reviewed-by: jmasa, jwilhelm
2015-06-03 08:49:34 +09:00
Bengt Rutisson
0ee851e5ef 8081039: G1: Remove unused statistics code in G1NoteEndOfConcMarkClosure and G1ParNoteEndTask
Reviewed-by: jmasa, kbarrett
2015-05-27 09:04:14 +02:00
Stefan Karlsson
f3f59e37c9 8080879: Remove FlexibleWorkGang::set_for_termination
Reviewed-by: brutisso, kbarrett, pliden
2015-05-25 11:41:34 +02:00
Stefan Karlsson
db20c1bc45 8080877: Don't use workers()->total_workers() when walking G1CollectedHeap::_task_queues
Reviewed-by: jmasa, drwhite
2015-05-22 13:35:29 +02:00
Stefan Karlsson
23b343af68 8080876: Replace unnecessary MAX2(ParallelGCThreads, 1) calls with ParallelGCThreads
Reviewed-by: kbarrett, mgerdin
2015-05-22 10:58:16 +02:00
Stefan Karlsson
21bb8edbba 8080840: Clean up active_workers() asserts
Reviewed-by: kbarrett, jmasa
2015-05-22 10:58:04 +02:00
Stefan Karlsson
5d81ec2082 8080837: Move number of workers calculation out of CollectionSetChooser::prepare_for_par_region_addition
Reviewed-by: kbarrett, mgerdin
2015-05-22 10:57:53 +02:00
Stefan Karlsson
5dc3521a80 8080113: Remove CollectedHeap::set_par_threads()
Reviewed-by: jmasa, kbarrett
2015-05-21 09:35:59 +02:00
Stefan Karlsson
8d0f1a6528 8080112: Replace and remove the last usages of CollectedHeap::n_par_threads()
Reviewed-by: jmasa, kbarrett
2015-05-21 09:35:38 +02:00
Stefan Karlsson
b77b3ec014 8080111: Remove SubTaskDone::_n_threads
Reviewed-by: jmasa, kbarrett
2015-05-21 09:23:46 +02:00
Stefan Karlsson
c13872f88d 8080110: Remove usage of CollectedHeap::n_par_threads() from root processing
Reviewed-by: jmasa, kbarrett
2015-05-21 09:23:00 +02:00
Stefan Karlsson
e13e75547c 8080109: Use single-threaded code in Threads::possibly_parallel_oops_do when running with only one worker thread
Reviewed-by: jmasa, kbarrett
2015-05-21 09:10:47 +02:00
Andreas Sjoberg
c8fa7eb4dd 8047330: Remove unrolled card loops in G1 SparsePRTEntry
Reviewed-by: ehelin, mgerdin, tschatzl
2015-05-20 10:45:40 +02:00
Per Lidén
5e68a86953 8080585: concurrentGCThread.hpp should not include suspendibleThreadSet.hpp
Reviewed-by: kbarrett, tschatzl
2015-05-19 14:09:22 +02:00
Jesper Wilhelmsson
f64e5038a4 Merge 2015-05-18 17:09:47 +02:00