29 Commits

Author SHA1 Message Date
David Holmes
000a25c0bf 8228858: Reimplement JVM_RawMonitors to use PlatformMutex
Reviewed-by: coleenp, dcubed, pchilanomate
2019-08-14 18:26:23 -04:00
Coleen Phillimore
d1ca6221a4 5103339: Strengthen NoSafepointVerifier
Add NSV check at possible safepoint transition or places that could take out locks.  Consolidate with clearing unhandled oops.

Reviewed-by: dholmes, rehn
2019-08-14 10:07:00 -04:00
Robbin Ehn
c6446d44b7 8226228: Make Threads_lock an always safepoint checked lock
Reviewed-by: coleenp, dcubed, dholmes
2019-08-09 11:04:08 +02:00
Coleen Phillimore
8251ba4817 8229208: Remove Monitor::ClearMonitor
Reviewed-by: dholmes
2019-08-07 08:10:45 -04:00
Coleen Phillimore
8426db3d74 8229000: Fix lock and reenable assert in Monitor::check_safepoint_state
Reviewed-by: dholmes, kbarrett
2019-08-05 11:16:48 -04:00
Coleen Phillimore
9ad5641ce5 8228673: Remove develop flag StrictSafepointChecks
Reviewed-by: shade, dholmes
2019-07-31 06:37:13 -04:00
Coleen Phillimore
6f95cac0e2 8223190: Test gc/arguments/TestShrinkHeapInSteps.java breaks with change for JDK-8074355
Remove too strict assert.

Reviewed-by: hseigel
2019-05-01 10:54:07 -04:00
Coleen Phillimore
6fb8502b77 8074355: make MutexLocker smarter about non-JavaThreads
Use safepoint_check_always/safepoint_check_never instead of safepoint_check_sometimes for locks that are taken by JavaThreads and non-JavaThreads

Reviewed-by: dholmes, rehn, dcubed, lmesnik
2019-05-01 08:56:38 -04:00
Coleen Phillimore
fbafef11c0 8222811: Consolidate MutexLockerEx and MutexLocker
Make MutexLocker be MutexLockerEx implementation, remove MutexLockerEx calls.

Reviewed-by: dcubed, dholmes, pliden, rehn
2019-04-25 10:56:31 -04:00
Coleen Phillimore
0314bac167 8222231: Clean up interfaceSupport.inline.hpp duplicated code
Reviewed-by: dholmes, pchilanomate
2019-04-10 17:31:31 -04:00
Robbin Ehn
bec8431683 8203469: Faster safepoints
Reviewed-by: dcubed, pchilanomate, dholmes, acorn, coleenp, eosterlund
2019-02-15 14:15:10 +01:00
Patricio Chilano Mateo
c94cdddbdd 8210832: Remove sneaky locking in class Monitor
Removed sneaky locking and simplified vm monitors implementation

Co-authored-by: David Holmes <david.holmes@oracle.com>
Reviewed-by: rehn, dcubed, pliden, dholmes, coleenp
2019-02-05 15:12:13 -05:00
Kim Barrett
b80d335354 8214315: G1: fatal error: acquiring lock SATB_Q_FL_lock/1 out of order with lock tty_lock/0
Add new 'tty' lock rank.

Reviewed-by: eosterlund, tschatzl
2018-12-08 18:52:57 -05:00
David Holmes
5e0ae53450 8213723: More Monitor/mutex initialization management
8213893: StringTable_lock is unused

Reviewed-by: tschatzl, dcubed, coleenp
2018-11-15 17:55:41 -05:00
Patricio Chilano Mateo
98d92b0b6b 8213708: Different #ifdef guards cause incorrect use of Monitor::check_block_state()
Wrapped check_block_state() method in DEBUG_ONLY macro and make the use of the latter more consistent

Reviewed-by: dcubed, dholmes
2018-11-14 09:50:01 -05:00
Robbin Ehn
e35e0ab165 8211403: Rename SafepointMechanism::poll(...)
Reviewed-by: mdoerr, dcubed, dholmes
2018-11-08 14:32:49 +01:00
Coleen Phillimore
d302072f50 8213211: [BACKOUT] Allow Klass::_subklass and _next_sibling to have unloaded classes
Reviewed-by: jiangli, jwilhelm
2018-10-31 14:38:14 -04:00
Coleen Phillimore
6a045adbed 8212958: Allow Klass::_subklass and _next_sibling to have unloaded classes
Don't return unloaded klasses. Make sure access is protected by Compile_lock.

Reviewed-by: eosterlund, dlong
2018-10-29 10:21:34 -04:00
Coleen Phillimore
647c7d5344 8164683: Solaris: JVM abuses thread preemption control
Complete removal of preemption control and command line arguments (were deprecated in 11).

Reviewed-by: hseigel, pchilanomate, dholmes
2018-08-10 09:36:01 -04:00
Patricio Chilano Mateo
46f2f92658 8202615: Remove NativeMonitorSpinLimit, NativeMonitorFlags and NativeMonitorTimeout experimental flags
Removed NativeMonitorSpinLimit, NativeMonitorFlags and NativeMonitorTimeout experimental flags from globals.hpp and mutex.cpp and marked them as obsolete.

Reviewed-by: kbarrett, dholmes
2018-06-25 13:47:27 -04: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
Per Lidén
d830d47d91 8203817: Monitor::try_lock() should not call check_prelock_state()
Reviewed-by: dholmes, eosterlund, rehn
2018-05-28 09:59:11 +02:00
Coleen Phillimore
6216182dd1 8202853: NotifyCount is not initialized
Remove NotifyCount

Reviewed-by: jiangli
2018-05-21 17:17:24 -04:00
Coleen Phillimore
fde89a34d0 8199263: Split interfaceSupport.hpp to not require including .inline.hpp files
InterfaceSupport.hpp is an inline file so moved to interfaceSupport.inline.hpp and stopped including it in .hpp files

Reviewed-by: stefank, rehn, kvn
2018-03-16 09:12:13 -04:00
Kim Barrett
9e5bf18428 8194406: Use Atomic::replace_if_null
Reviewed-by: coleenp, dholmes
2018-01-04 18:18:18 -05:00
Robbin Ehn
104ecb2dd1 8189941: Implementation JEP 312: Thread-local handshake
Introduce a way to execute a callback on threads without performing a global VM safepoint. Make it both possible and cheap to stop individual threads and not just all threads or none.

Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Erik Osterlund <erik.osterlund@oracle.com>
Reviewed-by: mdoerr, neliasso, acorn, aph, coleenp, dholmes
2017-08-31 10:00:28 +02:00
Coleen Phillimore
39b068db11 8188220: Remove Atomic::*_ptr() uses and overloads from hotspot
With the new template functions these are unnecessary.

Reviewed-by: kbarrett, dholmes, eosterlund
2017-10-16 22:36:06 -04:00
Erik Österlund
bf5816a2c5 8188813: Generalize OrderAccess to use templates
Reviewed-by: dholmes, coleenp
2017-10-09 14:39:59 +02:00
Erik Joelsson
3789983e89 8187443: Forest Consolidation: Move files to unified layout
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00