On Thu, 23 Oct 2025 17:29:29 GMT, Patricio Chilano Mateo <[email protected]> wrote:
>> This is the last PR in a series of PRs (see: >> [JDK-8344261](https://bugs.openjdk.org/browse/JDK-8344261)) to obsolete the >> LockingMode flag and related code. >> >> The main focus is to to unify `ObjectSynchronizer` and >> `LightweightSynchronizer`. >> There used to be a number of "dispatch functions" to redirect calls >> depending on the setting of the `LockingMode` flag. >> Since we now only have lightweight locking, there is no longer any need for >> those dispatch functions, so I removed them. >> To remove the dispatch functions I renamed the corresponding lightweight >> functions and call them directly. >> This ultimately led me to remove "lightweight" from the function names and >> go back to "fast" instead, just to avoid having some with, and some without >> the "lightweight" part of the name. >> >> This PR also include a small simplification of >> `ObjectSynchronizer::FastHashCode`. >> >> Tested tier1-7 (on supported platforms) without seeing any problems that can >> be traced to this code change. >> All other platforms (`arm`, `ppc`, `riscv`, `s390`) has been sanity checked >> using QEMU. > > src/hotspot/share/runtime/synchronizer.cpp line 648: > >> 646: // stability and then install the hash. >> 647: } else { >> 648: assert(!mark.is_unlocked() && !mark.is_fast_locked(), >> "invariant"); > > Note that `mark.monitor()` below already asserts `mark.has_monitor()` which > is stronger. Good point, but I still like to keep the `assert()` on 648 for clarity. Would you rather see it removed? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/27915#discussion_r2460563344
