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 sspitsyn (Reviewer).

-------------

PR: https://git.openjdk.java.net/jdk/pull/5797

Reply via email to