841 Commits

Author SHA1 Message Date
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
Thomas Stuefe
d2c3ef2f85 8202303: LogStream should autoflush on destruction
Reviewed-by: dholmes, rehn, zgu
2018-05-03 07:35:17 +02:00
Daniel D. Daugherty
9a94336b7d 8191798: redo nested ThreadsListHandle to drop Threads_lock
Refactor Thread hazard ptrs and nested ThreadsLists into SafeThreadsListPtr.

Co-authored-by: Erik Osterlund <erik.osterlund@oracle.com>
Reviewed-by: dcubed, eosterlund, rehn
2018-05-02 16:47:40 -04:00
Calvin Cheung
aedb6040c6 8200466: Revisit the setting of _transitive_interfaces in InstanceKlass
Delay the setting of _transitive_interfaces until after initialize_supers() in fill_instance_klass().

Reviewed-by: iklam, coleenp
2018-05-02 09:26:10 -07: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
Aleksey Shipilev
0e7d8874a9 8202379: ARM32 is broken after JDK-8201543 (Modularize C1 GC barriers)
Reviewed-by: aph, eosterlund
2018-05-01 19:13:31 +02:00
Zhengyu Gu
3c202e01d8 8201542: Remove unused _gc_timer field in GCMemoryManager
Minor cleanup to remove unused field

Reviewed-by: shade, minqi
2018-05-01 07:40:41 -04:00
John Rose
d05ed512ac 8200167: Validate more special case invocations
Co-authored-by: Vladimir Ivanov <vladimir.x.ivanov@oracle.com>
Co-authored-by: Tobias Hartmann <tobias.hartmann@oracle.com>
Reviewed-by: acorn, vlivanov, dholmes
2018-04-30 21:56:54 -04:00
Jiangli Zhou
20edc74068 8193213: Make the UseAppCDS option obsolete
8182731: Odd handling of -XX:-UseAppCDS and -XX:SharedArchiveFile

Application class data sharing is enabled without -XX:+UseAppCDS. SharedArchiveFile is now a product flag.

Reviewed-by: dholmes, ihse, erikj, ccheung
2018-04-30 16:59:05 -04: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
Kim Barrett
0432a1081e 8202230: Provide accessors for JNIHandles storage objects
Add JNIHandles::[weak_]global_handles().

Reviewed-by: coleenp, tschatzl
2018-04-27 03:57:00 -04:00
Tobias Hartmann
1787461d8a 8202179: Compilation fails with assert(n->is_expensive()) failed: expensive nodes with non-null control here only
Only treat the SqrtFNode as expensive if the control input is not NULL.

Reviewed-by: kvn, roland
2018-04-27 07:59:29 +02:00
Erik Österlund
f4893f5a9a 8201543: Modularize C1 GC barriers
Reviewed-by: pliden, rbackman, rkennke
2018-04-26 20:42:43 +02:00
Roland Westrelin
0ef11c31c7 8201367: assert(current != first_mem) failed: corrupted memory graph in superword code
Don't rely on the RPO order to find the "first" and "last" loads of the pack

Reviewed-by: kvn
2018-04-26 12:48:35 -07: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
Jini George
ccc74fdd60 8174994: SA: clhsdb printmdo throws WrongTypeException when attached to a process with CDS
Read in the md region of the CDS archive in SA and map the vtable addresses to the corresponding metadata type.

Reviewed-by: iklam, coleenp, ysuenaga, dholmes
2018-04-26 12:25:36 +05:30
Coleen Phillimore
8a427a07d8 8202164: Remove some unneeded BoolObjectClosure* is_alive parameters
Reviewed-by: kbarrett, stefank
2018-04-25 17:50:32 -04:00
Roland Westrelin
93691571bc 8200303: C2 should leverage profiling for lookupswitch/tableswitch
Reviewed-by: kvn, thartmann
2018-04-24 15:07:20 -07:00
Roland Westrelin
15a89eeee4 8201368: IfNode::fold_compares() may lead to incorrect execution
Reviewed-by: neliasso, kvn
2018-04-10 17:07:21 +02:00
Vladimir Kozlov
ffd8e19eaf 8202075: Crash when running compiler/codecache/OverflowCodeCacheTest.java
Add missing null check in WhiteBox::allocate_code_blob()

Reviewed-by: thartmann
2018-04-24 10:26:54 -07:00
Roland Westrelin
a67480f33d 8200477: Integer dot product no longer autovectorised
Reviewed-by: kvn
2018-04-24 09:35:08 +02:00
Thomas Stuefe
2ee8ddfb0d 8202074: Metaspace: If humongous chunk is added to SpaceManager, previous current chunk may not get retired correctly
Reviewed-by: coleenp, asiebenborn, goetz
2018-04-20 09:44:24 +02:00
Lutz Schmidt
48d51992ee 8202070: Cleanup code after JDK-8200450, JDK-8200366
Reviewed-by: kvn
2018-04-23 16:10:32 -07: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
Ioi Lam
cac6379cc4 8188105: Make -Xshare:auto the default for server VM
Reviewed-by: dholmes, lfoltan, acorn, mseledtsov, jiangli
2018-04-23 07:51:46 -07:00
Thomas Stuefe
2329ce7e2d 8202073: MetaspaceAllocationTest gtest shall lock during space creation
Reviewed-by: coleenp
2018-04-23 16:25:16 +02:00
Stefan Karlsson
04e986f200 8202081: Introduce CollectedHeap::is_oop()
Reviewed-by: eosterlund, rkennke
2018-04-23 11:25:53 +02:00
Martin Doerr
5e1a7651cd 8198756: Lazy allocation of compiler threads
Reviewed-by: kvn
2018-04-18 11:19:32 +02:00
Vladimir Kozlov
4a2ed13802 8201850: [AOT] vm crash when run test compiler/aot/fingerprint/SelfChangedCDS.java
Set AOT specific compressed oop shift value before CDS archive load

Reviewed-by: iklam, jiangli
2018-04-20 14:30:57 -07:00
Matthias Baesken
cfcd657702 8201226: missing JNIEXPORT / JNICALL at some places in function declarations/implementations
Co-authored-by: Alexey Ivanov <alexey.ivanov@oracle.com>
Reviewed-by: ihse, mdoerr
2018-04-10 08:38:56 +02:00
Christoph Langer
a9b0242eef 8201649: Remove dubious call_jio_print in ostream.cpp
Reviewed-by: stuefe, dholmes
2018-04-17 15:54:14 +02:00
Vladimir Kozlov
97c2167e1c 8178825: unused variable threadObj in jvmci_counters_include
Reviewed-by: ccheung
2018-04-19 18:11:18 -07:00
Dean Long
054d2a2984 8200196: [Graal] implement Object.notify/notifyAll intrinsics
Reviewed-by: iveresov
2018-04-19 16:28:55 -07: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
0afac6dc79 8201647: Make initial clearing of CHeapBitMap optional
Reviewed-by: stefank, kbarrett, tschatzl, smonteith
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
Lutz Schmidt
edbbeae978 8200450: Root cause analysis for JDK-8200366
Add safeguard checks to make sure CodeBlob if fully initialized

Reviewed-by: kvn
2018-04-18 21:10:09 -07: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
Coleen Phillimore
1ee531afe9 8200555: OopHandle should use Access API
Add RootAccess<> to OopHandle.resolve() in runtime and interpreter code.  Add comments for compiler code for later.

Reviewed-by: eosterlund, stefank
2018-04-18 10:39:40 -04:00
Aleksey Shipilev
4c626b6272 8201799: Build failures after JDK-8195099 (Concurrent safe-memory-reclamation mechanism)
Reviewed-by: dholmes, tschatzl, eosterlund
2018-04-18 15:05:37 +02:00