224 Commits

Author SHA1 Message Date
Patricio Chilano Mateo
4ef5590fa7 8206423: Use locking for cleaning ResolvedMethodTable
ServiceThread is now in charge of cleaning ResolvedMethodTable entries

Reviewed-by: gziemski, dholmes, coleenp
2018-08-21 10:37:02 -04:00
Kim Barrett
0d9777a9cb 8154343: Make SATB related code available to other GCs
Move ptrQueue and satbMarkQueue files from g1 to shared.

Reviewed-by: rkennke, sangheki
2018-08-18 13:59:25 -04:00
Gerard Ziemski
b75805c1a5 8195100: Use a low latency hashtable for SymbolTable
Used concurrentHashTable, similar to stringTable

Reviewed-by: coleenp, kbarrett, iklam, pliden
2018-08-14 18:42:14 -05:00
Kim Barrett
773906998a 8209347: SATBMarkQueue.cpp should not need jvm.h
Use os::snprintf instead of jio_snprintf.

Reviewed-by: shade, tschatzl
2018-08-14 14:58:14 -04:00
Kim Barrett
8f31a55f91 8209346: Refactor SATBMarkQueue filter configuration
Moved reference to G1-specific option to G1CollectedHeap.

Reviewed-by: shade, rkennke
2018-08-14 13:16:26 -04:00
Kim Barrett
924bba584d 8209345: Merge SATBMarkQueueFilter into SATBMarkQueueSet
Move filter extension protocol to SATBMarkQueueSet.

Reviewed-by: shade, tschatzl, rkennke
2018-08-14 00:15:56 -04:00
Kim Barrett
a007690fa0 8209396: Make PtrQueueSets not statically allocated
Change the G1BarrierSet PtrQueueSet static members to ordinary members.

Reviewed-by: shade, tschatzl, rkennke
2018-08-13 18:21:26 -04:00
Roman Kennke
59ca28bf1c 8209118: Abstract SATBMarkQueueSet's ThreadLocalData access
Reviewed-by: kbarrett, shade
2018-08-09 22:51:48 +02:00
Thomas Schatzl
d702d5f8d2 8208669: GC changes to allow enabling -Wreorder
Reviewed-by: kbarrett
2018-08-08 15:31:06 +02:00
Zhengyu Gu
4555c28590 8205921: Optimizing best-of-2 work stealing queue selection
Bias towards stealing from queues that we recently successfully stole from to decrease the number of unsuccessful steal attempts.

Co-authored-by: Thomas Schatzl <thomas.schatzl@oracle.com>
Reviewed-by: eosterlund, kbarrett
2018-08-03 11:06:10 +02:00
Kim Barrett
501fc494c0 8208611: Refactor SATBMarkQueue filtering to allow GC-specific filters
Add SATBMarkQueueFilter.

Reviewed-by: tschatzl, eosterlund, rkennke
2018-08-01 19:14:04 -04:00
Igor Ignatyev
65091f8c6d 8174691: [TESTBUG] A number of native hotspot unit tests fail when executed in stand-alone mode
Reviewed-by: kvn, tschatzl
2018-08-01 10:04:08 -07:00
Thomas Schatzl
7883ea1c31 8207953: Remove dead code in G1CopyingKeepAliveClosure
Reviewed-by: kbarrett
2018-07-23 17:32:04 +02:00
Thomas Schatzl
cb9a168f8b 8205426: Humongous continues remembered set does not match humongous start region one after Remark
Remembered set states for humongous objects crossing an internal per-thread processing threshold could synchronized if the humongous continues regions were processed first.

Reviewed-by: ehelin, kbarrett
2018-07-09 10:19:51 +02:00
Kim Barrett
8a2170dad7 8205559: Remove IN_CONCURRENT_ROOT Access decorator
Removed decorator and made all NativeAccess use barriers.

Reviewed-by: pliden, stefank
2018-06-26 16:59:38 -04:00
Stefan Karlsson
5012044e63 8205607: Use oop_iterate instead of oop_iterate_no_header
Reviewed-by: pliden, kbarrett
2018-06-26 13:54:19 +02:00
Thomas Schatzl
19f5116cd9 8204082: Make names of Young GCs more uniform in logs
All G1 young gcs now start with "Pause Young" plus a more detailed description

Reviewed-by: sjohanss
2018-06-26 11:09:42 +02:00
Stefan Karlsson
11813888b8 8204540: Automatic oop closure devirtualization
Reviewed-by: kbarrett, eosterlund
2018-05-26 06:59:49 +02:00
Michihiro Horie
4641ea7bed 8204524: Unnecessary memory barriers in G1ParScanThreadState::copy_to_survivor_space
Reviewed-by: kbarrett, mdoerr, drwhite, tschatzl
2018-06-25 10:41:03 +02:00
Kim Barrett
b84c23399e 8205459: Rename Access API flag decorators
Rename OOP_NOT_NULL, IN_HEAP_ARRAY, AS_DEST_NOT_INITIALIZED

Reviewed-by: pliden, stefank
2018-06-22 17:46:58 -04:00
Chris Phillips
561ec75b9b 8203030: Zero s390 31 bit size_t type conflicts in shared code
Cast to size_t or change to size_t foe compatibility with other archs.

Reviewed-by: pliden, dholmes
2018-06-19 10:00:39 -04:00
Paul Hohensee
ebe240f3f4 8195115: G1 Old Gen MemoryPool CollectionUsage.used values don't reflect mixed GC results
Memory pools can now be optional collection participants, e.g., G1 Old Gen in an incremental collection.

Reviewed-by: ehelin, mchung
2018-06-19 05:18:49 -07:00
Thomas Schatzl
9ae0be2289 8205043: Make parallel reference processing default for G1
Reviewed-by: kbarrett, sjohanss
2018-06-19 09:34:39 +02:00
Thomas Schatzl
7f9bbfa767 8043575: Dynamically parallelize reference processing work
In G1 automatically set the number of parallel Reference processing threads

Co-authored-by: Sangheon Kim <sangheon.kim@oracle.com>
Reviewed-by: sangheki, kbarrett
2018-06-18 12:11:59 +02:00
Thomas Schatzl
1a0553e4eb 8202845: Refactor reference processing for improved parallelism
Fold reference processing's nine phases into four to decrease startup and termination time of this phase.

Reviewed-by: kbarrett, sjohanss
2018-05-29 09:26:00 +02:00
Kim Barrett
05b5a78903 8204939: Change Access nomenclature: root to native
Rename RootAccess => NativeAccess, IN_ROOT => IN_NATIVE, and related cleanups.

Reviewed-by: pliden, stefank, coleenp
2018-06-15 16:53:58 -04:00
Zhengyu Gu
f6c168053f 8203641: Refactor String Deduplication into shared
Allows string deduplication to be shared among different collectors

Reviewed-by: tschatzl, rkennke
2018-06-14 09:59:21 -04:00
Thomas Schatzl
83aae3288e 8204169: Humongous continues region remembered set states do not match the one from the corresponding humongous start region
Make sure and verify that the remembered set state of humongous continues regions matches the one from the corresponding humongous start region.

Reviewed-by: kbarrett, sjohanss
2018-06-14 13:07:33 +02:00
Robbin Ehn
6b62a66298 8204613: StringTable: Calculates wrong number of uncleaned items
Reviewed-by: pliden, coleenp
2018-06-14 07:26:27 +02:00
Kim Barrett
df34500027 8204585: Remove IN_ARCHIVE_ROOT from Access API
Replaced Access API with API on heap.

Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Reviewed-by: jiangli, coleenp, tschatzl
2018-06-12 18:12:59 -04:00
Robbin Ehn
66f8951e15 8195097: Make it possible to process StringTable outside safepoint
Reviewed-by: coleenp, gziemski, iklam, jiangli
2018-06-07 14:11:56 +02:00
Thomas Schatzl
4c0fa36251 8202049: G1: ReferenceProcessor doesn't handle mark stack overflow
Issue a fatal error when mark stack overflows during reference processing in the Remark phase

Reviewed-by: kbarrett
2018-06-07 11:20:55 +02:00
Thomas Schatzl
1c238f0ccc 8204081: Mismatch in rebuild policy and collection set chooser causes remembered sets to be kept errorneously
Due to mismatch in which region's remembered sets should be rebuilt and the ones that are looked at in the collection set chooser superfluous remembered sets might be built and kept alive until the next marking.

Reviewed-by: sjohanss, kbarrett
2018-06-07 11:20:30 +02:00
Thomas Schatzl
7f8874a93b 8204084: Remove the G1RSBarrierRegionFilter develop flag
Reviewed-by: sjohanss, shade
2018-06-07 11:20:18 +02:00
Stefan Johansson
dce30cad15 8204287: Phase timings not updated correctly after JDK-6672778
Reviewed-by: tschatzl, kbarrett
2018-06-07 09:02:03 +02:00
Coleen Phillimore
892a2af03f 8204301: Make OrderAccess functions available to hpp rather than inline.hpp files
Move orderAccess.inline.hpp into orderAccess.hpp and remove os.hpp inclusion and conditional os::is_MP() for fence on x86 platforms

Reviewed-by: dholmes, hseigel
2018-06-06 10:45:40 -04:00
Coleen Phillimore
3e3414dbf3 8203837: Split nmethod unloading from inline cache cleaning
Refactor cleaning inline caches to after GC do_unloading.

Reviewed-by: thartmann, eosterlund
2018-05-02 11:28:49 -04:00
Sangheon Kim
4fb9d6717d 8204094: assert(worker_i < _length) failed: Worker 15 is greater than max: 11 at ReferenceProcessorPhaseTimes
Reviewed-by: kbarrett, tschatzl
2018-06-04 21:20:16 -07:00
Erik Österlund
6e9153ef8b 8202547: Move G1 runtime calls used by generated code to G1BarrierSetRuntime
Reviewed-by: rkennke, tschatzl
2018-06-04 12:59:51 +02:00
Coleen Phillimore
e3a3941c9a 8202813: Move vm_weak processing from SystemDictionary to WeakProcessor
SystemDictionary has all strong roots.  The weak oop_storage is processed by the WeakProcessor so it can be scanned and cleared concurrently and/or by parallel threads.

Reviewed-by: kbarrett, sjohanss
2018-05-29 15:50:27 -04:00
Gerard Ziemski
90cc14cd60 8133564: Runtime - 2nd followup to Validate JVM Command-Line Flag Arguments
Moved print function into JVMFlag, cleaned up include headers.

Reviewed-by: coleenp, hseigel
2018-05-29 11:04:56 -05:00
Thomas Schatzl
fd0d572bb5 8202842: G1 footprint regressions in jdk11+10
Lazily initialize G1FromCardCache to save on startup footprint if AlwaysPretouch is disabled.

Reviewed-by: sjohanss, redestad
2018-05-28 11:13:21 +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
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 Karlsson
99072b90d7 8202647: Add deduplicate_string function to CollectedHeap
Reviewed-by: rehn, sjohanss
2018-05-07 14:57:25 +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