[lworld] RFR: 8264895: [lworld] assert(!InstanceKlass::cast(receiver_klass)->is_not_initialized()) failed: receiver_klass must be initialized
Tobias Hartmann
thartmann at openjdk.java.net
Mon Apr 12 12:05:06 UTC 2021
We hit an assert during call resolution of C1 compiled code because the receiver klass is not linked/initialized. This can happen because C1 compiled code does not initialize the inline class at defaultvalue and call resolution does not expect uninitialized klasses (for non-inline classes, the receiver is either null or initialized).
The fix is to deoptimize at defaultvalue for now and add support for runtime patching later with [JDK-8265067](https://bugs.openjdk.java.net/browse/JDK-8265067).
Thanks,
Tobias
-------------
Commit messages:
- 8264895: [lworld] assert(\!InstanceKlass::cast(receiver_klass)->is_not_initialized()) failed: receiver_klass must be initialized
Changes: https://git.openjdk.java.net/valhalla/pull/382/files
Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=382&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8264895
Stats: 51 lines in 2 files changed: 49 ins; 0 del; 2 mod
Patch: https://git.openjdk.java.net/valhalla/pull/382.diff
Fetch: git fetch https://git.openjdk.java.net/valhalla pull/382/head:pull/382
PR: https://git.openjdk.java.net/valhalla/pull/382
More information about the valhalla-dev
mailing list