RFR: 8271276: C2: Wrong JVM state used for receiver null check
Vladimir Ivanov
vlivanov at openjdk.java.net
Tue Aug 17 21:07:27 UTC 2021
On Tue, 17 Aug 2021 19:15:12 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
> I assume you are talking about this existing null check code for virtual call receiver:
callGenerator.cpp#L242
No, the relevant places are [callGenerator.cpp#L166](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/callGenerator.cpp#L166), [callGenerator.cpp#L924](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/callGenerator.cpp#L924), [callGenerator.cpp#L1291](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/callGenerator.cpp#L1291), and [parse1.cpp#L1130](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/parse1.cpp#L1130).
My observation is if there's a fresh `CallGenerator` constructed in `LateInlineVirtualCallGenerator::do_late_inline_check()`, it always handles receiver null check itself.
-------------
PR: https://git.openjdk.java.net/jdk/pull/5150
More information about the hotspot-compiler-dev
mailing list