On Sat, 20 Feb 2021 10:21:52 GMT, Serguei Spitsyn <sspit...@openjdk.org> wrote:
>> The test is checking for "cannot be cast to" because at one point there was >> a bug in `printall` that was causing a `ClassCastException`. See >> [JDK-8175384](https://bugs.openjdk.java.net/browse/JDK-8175384). However, >> there is also a "cannot be cast to" message in the `printall` output when >> disassembling since the java source actually has it in a string literal: >> >> 3203 302 ldc #214(6) <String " cannot be cast to ResourceBundle"> >> [fast_aldc] >> >> Which comes from the following in the ResourceBundle.java source: >> >> throw new ClassCastException(c.getName() >> + " cannot be cast to ResourceBundle"); >> >> So this occurrence of "cannot be cast" is fine. The one we don't want comes >> from `SharedRuntime::generate_class_cast_message()` in `sharedRuntime.cpp`: >> >> ` "class %s cannot be cast to class %s (%s%s%s)",` >> >> So we can avoid this bug by changing the check to be a bit more explicit and >> check for "cannot be cast to class" instead. > > This looks good and trivial. Thanks Serguei! ------------- PR: https://git.openjdk.java.net/jdk/pull/2624