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

Reply via email to