314 Commits

Author SHA1 Message Date
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
Thomas Schatzl
5524494066 8199742: Clean up state flags in G1CollectorState
Remove, merge and update naming of flags in G1CollectorState

Reviewed-by: sangheki, sjohanss
2018-03-29 14:07:59 +02:00
Thomas Schatzl
7995d17bca 8199326: Remove G1 gc time stamp logic
G1 gc time stamp logic is unused completely after JDK-8180415, so removing it.

Reviewed-by: sangheki, sjohanss
2018-03-28 16:39:32 +02:00
Thomas Schatzl
e18975e1eb 8197932: Better split work in rebuild remembered sets phase
Let threads rebuilding remembered sets yield after every G1RebuildRemSetChunkSize (default: 256kB) sized memory area to improve TTSP.

Reviewed-by: sangheki, sjohanss
2018-03-28 16:39:32 +02:00
Thomas Schatzl
e50ba1fca5 8197928: Only enqueue deferred cards with references into regions that have a tracked remembered set during GC
Reviewed-by: sangheki, sjohanss
2018-03-28 16:39:32 +02:00
Thomas Schatzl
83d7c657c4 8197573: Remove concurrent cleanup and secondary free list handling
Remove secondary free list and all associated functionality, moving the cleanup work into the Cleanup pause instead.

Reviewed-by: sangheki, sjohanss
2018-03-28 16:39:32 +02:00
Per Lidén
24273f04a4 8199925: Break out GC selection logic from GCArguments to GCConfig
Reviewed-by: eosterlund, rkennke
2018-03-28 11:38:47 +02:00
Per Lidén
3b7962d614 8199918: Shorten names of CollectedHeap::Name members
Reviewed-by: shade, eosterlund
2018-03-28 11:38:47 +02:00
Coleen Phillimore
b541d9ad77 8200276: Cleanup allocation.hpp includes
Reviewed-by: stefank, hseigel
2018-03-27 11:53:23 -04:00
Thomas Schatzl
cd9bd4ecc7 8196485: FromCardCache default card index can cause crashes
The default value of -1 for 32 bit card indices is a regular card value at the border of 2TB heap addresses in the from card cache, so G1 may loose remembered set entries. Extend from card cache entries to 64 bits.

Co-authored-by: Jarkko Miettinen <jarkko.miettinen@relex.fi>
Reviewed-by: shade, sjohanss
2018-03-26 16:51:43 +02:00
Thomas Schatzl
c30aef79df 8180415: Rebuild remembered sets during the concurrent cycle
In general maintain remembered sets of old regions only from the start of the concurrent cycle to the mixed gc they are used, at most until the end of the mixed phase.

Reviewed-by: sjohanss, sangheki
2018-03-26 16:51:43 +02:00
Thomas Schatzl
28fb5548de 8197850: Calculate liveness in regions during marking
Reviewed-by: sjohanss, sangheki
2018-03-26 16:51:43 +02:00