318 Commits

Author SHA1 Message Date
Kim Barrett
6c20824cda 8203028: Simplify reference processing in light of JDK-8175797
Removed special handling of Reference.next

Reviewed-by: tschatzl, sjohanss, mchung
2018-05-26 03:11:50 -04:00
Kim Barrett
66b0c9fe9c 8202863: Rename OopStorage inner collection classes
Rename BlockArray, BlockList, BlockEntry

Reviewed-by: coleenp
2018-05-22 03:46:52 -04:00
Thomas Stuefe
8f71718566 8176808: Split up metaspace.cpp
Reviewed-by: asiebenborn, coleenp
2018-05-21 11:33:59 +02:00
Erik Österlund
53ec88908c 8202377: Modularize C2 GC barriers
Reviewed-by: neliasso, roland
2018-05-18 14:51:06 +02:00
Erik Gahlin
a060be188d 8199712: Flight Recorder
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Reviewed-by: coleenp, ihse, erikj, dsamersoff, mseledtsov, egahlin, mgronlun
2018-05-15 20:24:34 +02:00
Per Lidén
a6b12a847c 8202994: Add support for undoing last TLAB allocation
Reviewed-by: shade, stefank
2018-05-14 15:42:58 +02:00
Thomas Schatzl
ec2d9845e0 8201491: G1 support for java.lang.ref.Reference precleaning
Implement single-threaded concurrent reference precleaning for G1.

Reviewed-by: sangheki, kbarrett
2018-05-14 11:47:03 +02:00
Thomas Schatzl
6ff0af73ce 8202829: Implement CollectedHeap::get_safepoint_workers() for G1
Use the parallel STW worker gang to do safepoint work.

Reviewed-by: rkennke, eosterlund, pliden
2018-05-14 11:47:03 +02:00
Goetz Lindenmaier
b72846bc20 8202745: Remove hyphens from "out-of-bounds"
Reviewed-by: rriggs, dholmes
2018-05-07 23:07:01 +02:00
Thomas Schatzl
b34a8c43f1 8202780: Remove EnqueueTask related code from ReferenceProcessor after JDK-8202017
Remove code obsoleted by JDK-8202017

Reviewed-by: kbarrett, sangheki
2018-05-09 13:37:05 +02:00
Stefan Johansson
816d8f4257 8202662: JFR tests fails: Could not find leak with class
Reviewed-by: pliden, kbarrett
2018-05-09 11:24:12 +02:00
Stefan Karlsson
fc99089e00 8202722: Move marksweep_init into GC code
Reviewed-by: ehelin, kbarrett
2018-05-07 16:16:17 +02:00
Stefan Karlsson
c590979683 8202649: Move the Parallel GC specific task creation functions out of Threads
Reviewed-by: ehelin, pliden
2018-05-07 16:12:07 +02:00
Stefan Karlsson
99072b90d7 8202647: Add deduplicate_string function to CollectedHeap
Reviewed-by: rehn, sjohanss
2018-05-07 14:57:25 +02:00
Thomas Schatzl
9ed9e26d5c 8202781: Fix typo in DiscoveredListIterator::complete_enqeue
Reviewed-by: kbarrett
2018-05-08 16:49:20 +02:00
Thomas Schatzl
035d0190a3 8202017: Merge Reference Enqueuing phase with phase 3 of Reference processing
Do reference enqueuing work directly in phase 3 after every Reference.

Reviewed-by: kbarrett, sangheki
2018-05-08 10:01:29 +02:00
Stefan Karlsson
5f40eda733 8202642: Replace PAR_OOP_ITERATE with templates
Reviewed-by: eosterlund, sjohanss
2018-05-07 14:42:10 +02:00
Stefan Karlsson
1dd85fe2f4 8202641: Replace OOP_SINCE_SAVE_MARKS with templates
Reviewed-by: eosterlund, sjohanss
2018-05-07 14:42:08 +02:00
Stefan Karlsson
2e1bd03bad 8202639: Use concrete Generation classes in SerialHeap and CMSHeap
Reviewed-by: eosterlund, ehelin
2018-05-07 14:42:05 +02:00
Stefan Karlsson
5dfccac11f 8202592: Remove unused EvacuateFollowersClosure
Reviewed-by: kbarrett, tschatzl
2018-05-07 14:42:04 +02:00
Stefan Karlsson
7d380f1708 8202591: Remove usage of CMSEdenChunksRecordAlways in defNewGeneration.cpp
Reviewed-by: eosterlund, kbarrett
2018-05-07 14:42:00 +02:00
Erik Österlund
983911c697 8202083: Remove explicit CMS checks in CardTableBarrierSet
Reviewed-by: kbarrett
2018-05-07 10:36:38 +02:00
Tobias Hartmann
29b1984560 8202565: C1 compilation crashes with "assert(is_double_stack() && !is_virtual()) failed: type check"
Only eagerly resolving the address into a register if the store is precise.

Reviewed-by: roland, eosterlund
2018-05-07 08:56:35 +02:00
Stefan Karlsson
1cb95bd3d1 8200729: Conditional compilation of GCs
Reviewed-by: ehelin, coleenp, kvn, ihse
2018-05-04 11:41:35 +02:00
Kim Barrett
9b734fc849 8200557: OopStorage parallel iteration scales poorly
Change representation of sequence of all blocks for better scaling.

Reviewed-by: coleenp, eosterlund
2018-05-03 17:36:50 -04:00
Vladimir Kozlov
8ebfc59cfa 8202552: [AOT][JVMCI] Incorrect usage of INCLUDE_JVMCI and INCLUDE_AOT
Reviewed-by: stefank, ihse
2018-05-03 09:07:40 -07:00
Coleen Phillimore
204ba9a580 8202447: Fix unloading_occurred to mean unloading_occurred
Nmethod unloading does not need to test for jvmti to set unloading_occurred, nor do we need to clean weak Klasses in metadata if unloading does not occur.

Reviewed-by: sspitsyn, rehn
2018-04-27 15:00:04 -04:00
Thomas Schatzl
deb5bf745f 8202021: Improve variable naming in ReferenceProcesso
Reviewed-by: sangheki, sjohanss
2018-05-03 14:10:08 +02:00
Thomas Schatzl
73771f97e9 8202018: Move card table clear before enqueuing pending references
Move card table clearing in preparation of removal of the Reference enqueue phase.

Reviewed-by: sangheki, sjohanss
2018-05-03 14:09:39 +02:00
Thomas Schatzl
91ba4b5676 8201640: Use _ref_processor_* member variables directly in G1CollectedHeap
Reviewed-by: sjohanss
2018-05-03 14:09:21 +02:00
Thomas Schatzl
945701e945 8201492: Properly implement non-contiguous generations for Reference discovery
Collectors like G1 implementing non-contiguous generations previously used an inexact but conservative area for discovery. Concurrent and STW reference processing could discover the same reference multiple times, potentially missing referents during evacuation. So these collectors had to take extra measures while concurrent marking/reference discovery has been running. This change makes discovery exact for G1 (and any collector using non-contiguous generations) so that concurrent discovery and STW discovery discover on strictly disjoint memory areas. This means that the mentioned situation can not occur any more, and extra work is not required any more too.

Reviewed-by: kbarrett, sjohanss
2018-05-03 14:09:00 +02:00
Stefan Johansson
45aa655cd0 8202140: TLAB logging is not correct for G1
Reviewed-by: tschatzl, sangheki
2018-05-02 13:44:49 +02:00
Stefan Johansson
7f7d103c85 8191471: Elastic TLABs for G1
Reviewed-by: tschatzl, pliden
2018-05-02 13:44:46 +02:00
Per Lidén
b9490e5760 8202366: Add macro for common loop in GCConfig
Reviewed-by: eosterlund, shade
2018-04-30 12:19:55 +02:00
Per Lidén
8c235a30e7 8202364: Add GCConfig::hs_err_name() to avoid GC-specific code in error reporting
Reviewed-by: eosterlund, shade
2018-04-30 12:19:53 +02:00
Christoph Langer
d24f8fd099 8202367: AIX build broken after JDK-8201543
Reviewed-by: eosterlund, shade, mdoerr
2018-04-27 13:09:54 +01:00
Thomas Schatzl
0f583c7817 6672778: G1 should trim task queues more aggressively during evacuation pauses
Regularly try to drain task queues. This helps memory usage and performance during garbage collection.

Reviewed-by: sjohanss, sangheki
2018-04-27 12:06:46 +02:00
Erik Österlund
f4893f5a9a 8201543: Modularize C1 GC barriers
Reviewed-by: pliden, rbackman, rkennke
2018-04-26 20:42:43 +02:00
Gerard Ziemski
edc81d17e1 8202150: [REDO] Split globals.hpp to factor out the Flag class
Factored out Flag out go globals, renamed to JVMFlag

Reviewed-by: coleenp, dholmes, kvn
2018-04-26 11:19:05 -05:00
Coleen Phillimore
8a427a07d8 8202164: Remove some unneeded BoolObjectClosure* is_alive parameters
Reviewed-by: kbarrett, stefank
2018-04-25 17:50:32 -04:00
Kim Barrett
a99eca12cc 8201826: G1: Don't invoke WeakProcessor if mark stack has overflowed
Move WeakProcessor invocation after overflow check

Reviewed-by: stefank, tschatzl
2018-04-23 16:00:56 -04:00
Gerard Ziemski
816e2e5fe0 8202151: [BACKOUT] Split globals.hpp to factor out the Flag class
Backed out JDK-8081519

Reviewed-by: kvn
2018-04-23 14:51:16 -05:00
Gerard Ziemski
60723b7e3d 8081519: Split globals.hpp to factor out the Flag class
Factored out Flag out go globals, renamed to JVMFlag

Reviewed-by: coleenp, dholmes, kvn
2018-04-23 10:59:39 -05:00
Stefan Karlsson
04e986f200 8202081: Introduce CollectedHeap::is_oop()
Reviewed-by: eosterlund, rkennke
2018-04-23 11:25:53 +02:00
Per Lidén
f900ae9914 8201800: Add support for adjusting heap addresses in a TLAB
Reviewed-by: shade, stefank
2018-04-19 07:54:50 +02:00
Per Lidén
a4f21eeb03 8201646: Introduce ReferenceDiscoverer interface
Reviewed-by: stefank, tschatzl, rkennke
2018-04-19 07:54:50 +02:00
Stefan Johansson
ffd8b1f9bd 8196071: Change G1 Full GC heap and thread sizing ergonomics
Reviewed-by: tschatzl, sangheki
2018-04-19 09:15:17 +02:00
Coleen Phillimore
ddfd4c33c6 8201556: Disallow reading oops in ClassLoaderData if unloading
Move class_loader oop to an OopHandle, and assert that holder is alive when getting class_loader.

Reviewed-by: kbarrett, adinn
2018-04-18 18:43:04 -04:00
Coleen Phillimore
c215aa5889 8201537: Remove is_alive closure from Klass::is_loader_alive()
Remove is_alive closure from callers of Klass::is_loader_alive so that cleaning metadata doesn't require GC closure.

Reviewed-by: adinn, stefank
2018-04-18 13:37:39 -04:00
Thomas Schatzl
2006105114 8201527: Bump default value of G1RefProcDrainInterval
Due to high startup cost of marking, lower the frequency of draining the mark stack generated by reference processing.

Reviewed-by: sangheki, sjohanss
2018-04-18 19:00:32 +02:00