This change refactors the super class scalar argument checking code and deoptimization so that it is only called at link time and not for frame::describe() and other places that are only retrieving the calling convention. The only time that we detect a mismatch is during class linking, before the overriding subclass method can run.
This avoids running vm code while thread_in_Java, which is unsafe, and removes the ThreadInVMfromUnknown, which was even more unsafe. Tested with tier1-4. --------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - 8385966: [lworld] Remove ThreadInVMfromUnknown from get_supers Changes: https://git.openjdk.org/valhalla/pull/2517/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2517&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8385966 Stats: 105 lines in 2 files changed: 53 ins; 44 del; 8 mod Patch: https://git.openjdk.org/valhalla/pull/2517.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2517/head:pull/2517 PR: https://git.openjdk.org/valhalla/pull/2517
