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
1cb95bd3d1
8200729: Conditional compilation of GCs
...
Reviewed-by: ehelin, coleenp, kvn, ihse
2018-05-04 11:41:35 +02: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
7f7d103c85
8191471: Elastic TLABs for G1
...
Reviewed-by: tschatzl, pliden
2018-05-02 13:44:46 +02: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
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
Coleen Phillimore
36d1d59425
8201505: Use WeakHandle for ProtectionDomainCacheTable and ResolvedMethodTable
...
8193524: Redefining a method that removes use of 1 or more lambda expressions causes the JVM to hang
Remove oop pointers from runtime data structures.
Co-authored-by: Lois Foltan <lois.foltan@oracle.com>
Reviewed-by: lfoltan, stefank
2018-04-18 12:06:53 -04:00
Thomas Schatzl
6db76f1af6
8201172: Parallelize Remset Tracking Update Before Rebuild phase
...
Reviewed-by: sangheki, sjohanss
2018-04-18 11:36:48 +02:00
Thomas Schatzl
ebbd7cf90b
8201596: java.lang.ref.Reference processing total time logging broken
...
Fix "Reference Processing" and add "Weak Processing" time
Reviewed-by: kbarrett, sangheki
2018-04-18 11:36:48 +02:00
Thomas Schatzl
c62a6abe91
8201490: Improve concurrent mark keep alive closure performance
...
Avoid doing marking work unless absolutely required.
Reviewed-by: sjohanss, kbarrett
2018-04-18 11:36:48 +02:00
Thomas Schatzl
dc7aa2ca03
8200730: Fix debug=gc+phases time tracking in Remark and Cleanup
...
Timing in Remark and Cleanup pauses did not use instance variables for the scoped timing objects, so these durations were always zero.
Reviewed-by: sangheki, sjohanss
2018-04-18 11:36:48 +02:00
Thomas Schatzl
5b42f3ce0d
8200426: Make G1 code use _g1h members
...
Consistently use _g1h member names for cached G1CollectedHeap* variables.
Reviewed-by: sangheki, sjohanss
2018-04-18 11:36:48 +02:00
Thomas Schatzl
e11d1b311d
8200723: Suppress rs_length and predicted_cards sampling during mixed gcs
...
Due to the impact of these measurements on pause time, their high difference to other collections during mixed collections, and their non-use during mixed collections, do not use rs_length and predicted_cards measurements done during mixed gc for the predictor. This avoids the young gen sizing after the mixed phase to be negatively affected by mixed collections.
Reviewed-by: kbarrett, sjohanss
2018-04-18 11:36:48 +02:00
Thomas Schatzl
9db71579ee
8154528: Reclaim regions emptied by marking in Remark pause
...
Reviewed-by: shade, sjohanss
2018-04-18 11:36:48 +02:00
Thomas Schatzl
7c09cf644b
8178105: Switch mark bitmaps during Remark
...
Reviewed-by: sjohanss, sangheki
2018-04-18 11:36:48 +02:00
Per Lidén
ec504ecf84
8201362: Remove CollectedHeap::barrier_set()
...
Reviewed-by: shade, rkennke
2018-04-12 11:22:24 +02:00
Per Lidén
6825739d3f
8201318: Introduce GCThreadLocalData to abstract GC-specific data belonging to a thread
...
Reviewed-by: shade, rehn
2018-04-12 08:25:56 +02:00
Per Lidén
4c60e69b97
8201316: Move G1-related static members from JavaThread to G1BarrierSet
...
Reviewed-by: stefank, shade
2018-04-12 08:25:30 +02:00
Thomas Schatzl
6e6a9ea8aa
8200233: Simple G1 evacuation path performance enhancements
...
Implement some minor performance optimizations in the evacuation path including changing some stores to be OOP_NOT_NULL, specializing the compressed/uncompressed oops path and delay some load of the current heapregion until absolutely necessary.
Reviewed-by: kbarrett, sjohanss
2018-04-11 11:41:30 +02:00
Thomas Schatzl
381dceed47
8201365: Remove G1Policy::should_process_references()
...
Reviewed-by: shade
2018-04-11 11:37:19 +02:00
Stefan Karlsson
f0f7a1b70d
8201168: Move GC command line constraint functions to GC specific files
...
Reviewed-by: gziemski, sjohanss
2018-04-10 12:17:16 +02:00
Stefan Karlsson
906806e067
8200759: Move GC entries in vmStructs.cpp to GC specific files
...
Reviewed-by: sjohanss, shade
2018-04-10 12:15:07 +02:00
Aleksey Shipilev
de2a00c110
8201359: Incorrect header guards after JDK-8198949 (Modularize arraycopy stub routine GC barriers)
...
Reviewed-by: stefank, dholmes
2018-04-10 12:12:43 +02:00
Thomas Schatzl
4fd82a111e
8200385: Eagerly reclaimed humongous objects leave mark in prev bitmap
...
Also clear marks on prev bitmap on eager reclaim
Reviewed-by: sangheki, sjohanss
2018-04-10 09:12:23 +02:00
Kim Barrett
a384a668a5
8200550: Xcode 9.3 produce warning -Wexpansion-to-defined
...
Removed problem macros.
Reviewed-by: tschatzl, dholmes, coleenp
2018-04-09 20:36:04 -04:00
Roman Kennke
389d720746
8199735: Mark word updates need to use Access API
...
Reviewed-by: shade, eosterlund
2018-04-05 10:54:53 +02:00
Leo Korinth
30079a437a
8201171: Cleanup in g1CollectedHeap, change CamelCase to snake_case
...
Reviewed-by: sjohanss, tschatzl
2018-04-05 14:25:53 +02:00
Stefan Karlsson
14a142ba14
8201136: Move GC flags from globals.hpp to GC specific files
...
Reviewed-by: sjohanss, shade, rehn
2018-04-06 13:55:25 +02:00
Stefan Johansson
b758cec4ad
8200169: Flatten G1Allocator class hierarchy
...
Reviewed-by: tschatzl, sangheki
2018-04-06 11:41:21 +02:00
Thomas Schatzl
e5ec636e7d
8200305: Update gc,liveness output with remset state after rebuild remset concurrently changes
...
Reviewed-by: sjohanss, sangheki
2018-04-04 14:51:26 +02:00
Thomas Schatzl
94d2a9db4c
8200074: Remove G1ConcurrentMark::_concurrent_marking_in_progress
...
Reviewed-by: sjohanss, sangheki
2018-04-04 11:21:14 +02:00
Thomas Schatzl
ee1bd0136b
8200255: Remove G1CMTask::_concurrent
...
Reviewed-by: sangheki, sjohanss
2018-04-04 11:21:14 +02:00
Thomas Schatzl
5780affe90
8200234: Cleanup Remark and Cleanup pause code
...
Remove redundant methods, factor out verification code and simplify code in Remark and Cleanup pause code.
Reviewed-by: sangheki, sjohanss
2018-04-04 11:21:14 +02:00
Leo Korinth
05dd65349b
8200371: In g1, rename ConcurrentMarkThread to G1ConcurrentMarkThread
...
Reviewed-by: tschatzl, sangheki
2018-04-03 12:05:49 +02:00
Thomas Schatzl
9189e982b4
8200362: G1Mux2Closure should disable implicit oop verification
...
To avoid the implicit oop verification provided by OopClosure and oop_iterate_no_header, let G1 verification closures inherit from ExtendedOopClosures and disable this verification.
Reviewed-by: stefank, sjohanss
2018-03-29 17:15:26 +02:00
Thomas Schatzl
d594ab7636
8151171: Bring g1ConcurrentMark files up to current coding conventions
...
Improve method naming, bracketing, use of _g1h member and general cleanup.
Reviewed-by: sangheki, sjohanss
2018-03-29 14:08:10 +02:00