RFR: 8287223: C1: Inlining attempt through MH::invokeBasic() with null receiver

Vladimir Ivanov vlivanov at openjdk.java.net
Wed May 25 22:34:21 UTC 2022


Inlining attempt through `MH::invokeBasic()` when receiver is null. It triggers an assert when attempting to extract a `Method*` from a null constant.

Proposed fix bails out inlining attempt when receiver is null constant.

C2 has a similar issue, but the particular bytecode shape of `MH::invokeExact()` invoker hides the bug (dominating `MH::type()` call involves a null check and problematic call isn't compiled at all).  

Testing: hs-tier1 - hs-tier4

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

Commit messages:
 - Whitespace
 - 8287223: C1: Inlining attempt through MH::invokeBasic() with null receiver

Changes: https://git.openjdk.java.net/jdk/pull/8894/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8894&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8287223
  Stats: 101 lines in 3 files changed: 77 ins; 8 del; 16 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8894.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8894/head:pull/8894

PR: https://git.openjdk.java.net/jdk/pull/8894


More information about the hotspot-compiler-dev mailing list