There’s an old change in LIRGenerator::profile_type() (see JDK-8027631) that tries to improve the type. There is code near the end where it computes improved_klass, but then doesn’t use the value. Instead it uses the value of exact_signature_k again. It looks like a copy-paste-error. It's unknown how often we hit this case or the impact. We should investigate.
There are also extra null checks that were added since 8027631 that don't look right. It doesn't make sense to check klass1 != klass2 if we already know one side is nullptr.
There are also extra null checks that were added since 8027631 that don't look right. It doesn't make sense to check klass1 != klass2 if we already know one side is nullptr.
- relates to
-
JDK-8027631 "unexpected profiling mismatch" error with new type profiling
-
- Resolved
-
-
JDK-8041481 JVM crashes with collect_args_for_profiling
-
- Closed
-