Loading... (original) (raw)
- Type:
Bug
- Resolution: Fixed
- Priority:
P3
- Fix Version/s: 9
- Affects Version/s: 8u20, 8u40, 9
Most of compiler/rtm/ tests use inflated monitors because by default RTM locking is disabled for stack locks.
In order to inflate monitor associated with newly created object these tests use method rtm.AbortProvoker::inflateMonitor.
After that monitor remains released until actual testing begins. If safepoint synchronization happens when monitor unused, then that monitor will be deflated. As a result RTM-based lock elision won't be used and tests will fail.
Issue could be reproduced w/ +DeoptimizeALot.
backported by
JDK-8065977 compiler/rtm/ tests fail due to monitor deflation at safepoint synchronization
- Resolved
JDK-8079954 compiler/rtm/ tests fail due to monitor deflation at safepoint synchronization
- Resolved
JDK-8083190 compiler/rtm/ tests fail due to monitor deflation at safepoint synchronization
- Resolved
JDK-8086507 compiler/rtm/ tests fail due to monitor deflation at safepoint synchronization
- Resolved
JDK-8137565 compiler/rtm/ tests fail due to monitor deflation at safepoint synchronization
- Resolved
blocks
JDK-8049355 compiler/rtm/locking/TestRTMLockingThreshold test may fail if transaction was aborted by interrupt
- Resolved
is blocked by
JDK-8068272 Extend WhiteBox API with methods that check monitor state and force safepoint
- Resolved
(1 blocks, 1 is blocked by)