On Fri, 4 Sep 2026 21:32:53 GMT, Vladimir Ivanov <[email protected]> wrote:
>> Jorn Vernee has updated the pull request with a new target base due to a
>> merge or a rebase. The incremental webrev excludes the unrelated changes
>> brought in by the merge/rebase. The pull request contains four additional
>> commits since the last revision:
>>
>> - Remove old comment
>> - Merge branch 'master' into ScanOops
>> - Merge branch 'master' into ScanOops
>> - Scan for session oop before deoptimizing
>
> src/hotspot/share/prims/scopedMemoryAccess.cpp line 248:
>
>> 246:
>> 247: nmethod* code = last_frame.cb()->as_nmethod();
>> 248: if (code->has_scoped_access() && is_session_live(last_frame,
>> ®ister_map)) {
>
> I'd assert that this condition is always false for non-deoptimizable frames
> (`last_frame.can_be_deoptimized() == false`). Otherwise, looks good.
Question... does the `has_scoped_access` machinery still carry weight? We did
that originally to prevent deoptimization in cases that had nothing to do with
memory access. Now it becomes more of a way to avoid the JNI resolution. This
might still be important -- but I wonder if we have numbers to back up the need
for two separate mechanisms here?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/30926#discussion_r3947817399