[8u] RFR(S): 8247817: Some incompatible APIs in jdk/test/lib

Liu, Xin xxinliu at amazon.com
Thu Jun 18 23:00:50 UTC 2020


hi, Paul,

I believe those code were brought in from upstream for JFR, but JFR 
testing may not cover them.
I am working a new patchset which allows users to run vmtestbase using 
jdk/test/lib of jdk repo. I ran into those problems when I execute 
vmtestcase.

for example, 
http://cr.openjdk.java.net/~xliu/8247817/00/webrev/test/lib/jdk/test/lib/util/JarUtils.java.udiff.html
This class makes use InputStream.transferTo, which is available since jdk9
(https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html#transferTo(java.io.OutputStream) 

It can't be compiled with the runtime of jdk8u.

Other 3 symbols like Platform.sharedLibraryPathVariableName(), 
Utils.TEST_ROOT and jtreg.SkippedException are all symbols referred by 
hotspot/test/vmTestbase.
yes, we can recursively backport them, but it is time-consuming and 
introduce a lot of less irrelevant code. They are all incremental 
changes which won't incur any conflict.

thanks,
--lx

On 6/18/20 2:27 PM, Hohensee, Paul wrote:
> Would you describe the problems you encountered that this patch solves please? The Whitebox issue is obvious, but the purpose of the other changes isn't.
>
> Thanks,
> Paul
>
> On 6/17/20, 5:29 PM, "jdk8u-dev on behalf of Liu, Xin" <jdk8u-dev-bounces at openjdk.java.net on behalf of xxinliu at amazon.com> wrote:
>
>      Hi, maintainers,
>
>      Could you review this webrev for jdk8u-dev/jdk?
>
>      Bug: https://bugs.openjdk.java.net/browse/JDK-8247817
>
>      Webrev: http://cr.openjdk.java.net/~xliu/8247817/00/webrev/
>
>
>      Description:
>
>      I ran into these problems when I try to use jdk/test/lib of jdk repo,
>      which was introduced for JFR testing,  to run hotspot/test/vmtestbase.
>
>      I guess the JFR testing doesn't cover them. IMHO, we'd better fix them
>      for jdk8u, Otherwise we will observe something strange when we really
>      use them.
>
>      eg. The whitebox api isMethodCompilable doesn't work. It's because
>      CompLevel_any=-1 in jdk8u. Whitebox APIs must be consistent with the
>      implementation of hotspot.
>
>      thanks,
>
>      --lx
>
>
>



More information about the jdk8u-dev mailing list