ObjectMonitorIterator fails to return the most resent monitor added. It start with returning the `nextOM()` ObjectMonitor from the `_head` ObjectMonitor but fails to ever return the `_head` ObjectMonitor. The current implementation can also not handle that the `_head` is nullptr (no monitors in the system) and returns a null ObjectMonitorIterator. Which is interpreted as `monitor list not supported, too old hotspot VM`.
Changed the iterator to keep return the current monitor (starts with `_head`) and decoupled `_head == nullptr` from the question if ObjectMonitorIterator is supported. Testing: * Passes all `serviceability/sa` tests * Currently running tier 1-3 * Currently running GHA ------------- Commit messages: - 8316417: ObjectMonitorIterator does not return the most recent monitor and is incorrect if no monitors exists Changes: https://git.openjdk.org/jdk/pull/15782/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15782&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8316417 Stats: 25 lines in 3 files changed: 10 ins; 1 del; 14 mod Patch: https://git.openjdk.org/jdk/pull/15782.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/15782/head:pull/15782 PR: https://git.openjdk.org/jdk/pull/15782