On Fri, 24 Apr 2026 15:36:37 GMT, Jorn Vernee <[email protected]> wrote:
> See the JBS issue for the full explanation of the issue. > > Now that https://github.com/openjdk/jdk/pull/25315 was integrated, we are > able to reliably scan for session oops in a frame, and only deoptimize those > frames where the oop is live. > > I ran the `ConcurrentClose` benchmark before and after this patch, and these > were the results: > > > Before: > > Benchmark Mode Cnt Score Error > Units > ConcurrentClose.sharedClose avgt 10 10.139 ± 0.416 > us/op > ConcurrentClose.sharedClose:closing avgt 10 29.288 ± 1.257 > us/op > ConcurrentClose.sharedClose:memorySegmentAccess avgt 10 0.651 ± 0.030 > us/op > ConcurrentClose.sharedClose:otherAccess avgt 10 0.478 ± 0.026 > us/op > > After: > > Benchmark Mode Cnt Score Error > Units > ConcurrentClose.sharedClose avgt 10 9.860 ± 0.387 > us/op > ConcurrentClose.sharedClose:closing avgt 10 28.641 ± 1.175 > us/op > ConcurrentClose.sharedClose:memorySegmentAccess avgt 10 0.470 ± 0.013 > us/op > ConcurrentClose.sharedClose:otherAccess avgt 10 0.468 ± 0.015 > us/op > > > We can see that now the unrelated memory access in `memorySegmentAccess` is > no longer being affected by a scope being closed in another thread. > > Testing: `jdk_foreign` suite, and I repeat ran > `java/foreign/TestHandshake.java` 50 times as well, which is our stress test > for shared scopes. > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). Totally agree with this change. It's something we always wanted to do, but couldn't due to JDK-8290892. The structure of your patch looks fine, but I'll leave the review of the `is_session_live` to a VM engineer :-) ------------- PR Review: https://git.openjdk.org/jdk/pull/30926#pullrequestreview-4280855284
