On Mon, 4 Oct 2021 13:02:37 GMT, Yasumasa Suenaga <ysuen...@openjdk.org> wrote:
>> Use >> [java.lang.Runtime.Version](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Runtime.Version.html) >> to check the version of debugee. >> >> Currently `checkVMVersion()` in `sun.jvm.hotspot.runtime.VM` has following >> code to check the version of debugee. >> >> >> if (saVersion.indexOf('-') == saVersion.lastIndexOf('-') && >> vmVersion.indexOf('-') == vmVersion.lastIndexOf('-')) { >> // Throw exception if different release versions: >> // <major>.<minor>-b<n> >> throw new VMVersionMismatchException(saVersion, vmRelease); >> } else { >> // Otherwise print warning to allow mismatch not release versions >> // during development. >> System.err.println("WARNING: Hotspot VM version " + vmRelease + >> " does not match with SA version " + saVersion >> + >> "." + " You may see unexpected results. "); >> } >> >> >> It seems to expect to allow the deference in option string only. >> For example, `saVersion` is "17+35", and `vmVersion` is "17+35-2724", then >> it should be allowed because release version (17+35) is same. However >> current code would not do so. >> >> I guess this code is not based on [JEP >> 223](https://openjdk.java.net/jeps/223) (New Version-String Scheme) because >> the comment says "<major>.<minor>-b<n>". Fortunately we have >> `Runtime.Version` to handle version strings. We should refactor with it. > > Yasumasa Suenaga has updated the pull request incrementally with one > additional commit since the last revision: > > Remove toString() calls Marked as reviewed by cjplummer (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/5797