RFR: 8322996: BoxLockNode creation fails with assert(reg < CHUNK_SIZE) failed: sanity [v5]

Daniel Lundén dlunden at openjdk.org
Thu Jan 25 12:29:29 UTC 2024


On Thu, 25 Jan 2024 03:47:12 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> Daniel Lundén has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Fix incorrect package name
>
> src/hotspot/share/opto/graphKit.cpp line 3473:
> 
>> 3471:   Node* box = _gvn.transform(new BoxLockNode(next_monitor()));
>> 3472:   // Check for bailout after new BoxLockNode
>> 3473:   if (failing()) { return nullptr; }
> 
> Do all callers of `shared_lock()` checks for `failing()` or returned `nullptr`?

No, not the immediate callers at least. Below is a quick call graph analysis for the places where we create `BoxLockNode`s (up to the first bailout check). Should I add returns at all points in the call chain up to the first checks?

graphKit.cpp:3471 (this is in shared_lock)
  locknode.cpp:196
    parse2.cpp:2759
      parse1.cpp:1594 (Checks for bailout at parse1.cpp:1595)
  parse1.cpp:1264
    parse1.cpp:582 (Checks for bailout at parse1.cpp:596)

parse1.cpp:227
  parse1.cpp:579 (Checks for bailout at parse1.cpp:596)

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17370#discussion_r1466298523


More information about the hotspot-compiler-dev mailing list