Advice on how to push changes back for ARMv7-A softfp platforms

christoph.goettschkes at microdoc.com christoph.goettschkes at microdoc.com
Fri Aug 9 14:05:21 UTC 2019


Hi Boris,

No, I did not run JTreg, the OpenJDK 11 is not completely ported to the 
target platform. Since it is a linux based system which does not use the 
glibc, but a different libc implementation, we only have a subset of the 
java modules ported to the target system. We used the OpenJDK JCK to 
verify the compliance of the created Java runtime. Since not all modules 
have been ported, we only tested the following modules:

- java.base
- java.logging
- java.naming

In addition, we executed the "vm" and "lang" test. The JCK went fine (all 
for the OpenJDK 11 code base). Since JTreg requires more modules to be 
ported, I might need make the port more complete. Are there any 
requirements of which parts of the jtreg test suite needs to be passed on 
the target platform? Porting all java modules might be a major task and we 
might not want to do that, since the change is inside HotSpot and we 
already verified the VM using the JCK.

How should I proceed with getting the change reviewed someone. Just keep 
this conversation open, or should I post an additional message with the 
bug ID and the webrev link and ask for a review?

Thanks,
Christoph

Boris Ulasevich <boris.ulasevich at bell-sw.com> wrote on 2019-08-09 
15:50:34:

> From: Boris Ulasevich <boris.ulasevich at bell-sw.com>
> To: christoph.goettschkes at microdoc.com
> Cc: hotspot-dev at openjdk.java.net
> Date: 2019-08-09 15:50
> Subject: Re: Advice on how to push changes back for ARMv7-A softfp 
platforms
> 
> Hi Christoph,
> 
>    I see. I do not know how to write test for the issue too. By the way, 

> current implementation can (1) make unnecessary call to interpreter 
> runtime and (2) can make wrong load when Rtemp is equal to 
> JVM_CONSTANT_Long by chance. So the change is critical for arm32-sflt.
> 
>    Did you run jtreg tests?
> 
>    Please proceed with review. I can update webrev and bug report and 
> help you with pushing the change when it is accepted (I am not a 
reviewer).
> 
> regards,
> Boris
> 
> On 09.08.2019 15:49, christoph.goettschkes at microdoc.com wrote:
> > Hi Boris,
> > 
> > thank you for the webrev.
> > 
> > I checked jdk/jdk and you are right, there are differences in the 
file,
> > but not regarding this issue. Some of the differences are because the
> > AArch64 code has been removed from the cpu/arm port in jdk/jdk. In
> > jdk-updates/jdk11u, the cpu/arm source base also includes an AArch64 
port.
> > The patch looks good to me.
> > 
> > I did not create a test case for this issue, because I don't know if 
one
> > is able to check if the template interpreter calls the interpreter 
runtime
> > or not.
> > Resolving this issue makes the template interpreter faster, because it
> > does not call the interpreter runtime (using the condy_helper 
function),
> > but is able to load in the constant in the generated code. A simple 
test
> > case (which I used and checked using a debugger, back when I patched 
our
> > source base) is something like the following (It is not the test I 
used,
> > but should work as well):
> > 
> > class Test {
> >      public static void main(String... args) {
> >          long x = 12345678910L;
> >      }
> > }
> > 
> > Also, since the Rtemp is not initialized in the code generated by this
> > template, it could be, that the path for loading a long constant is 
used,
> > even if the type is of double, but I don't know if this is only a
> > theoretical bug or if it might appear in practice as well. I never saw 
it
> > happening.
> > 
> > Yes, there is an OCA signed for MicroDoc Software GmbH.
> > 
> > Thanks, Christoph
> > 
> > Boris Ulasevich <boris.ulasevich at bell-sw.com> wrote on 2019-08-09
> > 13:49:00:
> > 
> >> From: Boris Ulasevich <boris.ulasevich at bell-sw.com>
> >> To: christoph.goettschkes at microdoc.com
> >> Cc: hotspot-dev at openjdk.java.net
> >> Date: 2019-08-09 13:49
> >> Subject: Re: Advice on how to push changes back for ARMv7-A softfp
> > platforms
> >>
> >> Hi Christoph,
> >>
> >> I can create webrev for you. Please note that we should not directly
> >> patch jdk11u. We should push the fix to jdk-jdk, and then backport 
the
> >> change to jdk11u. Your patch is not applied cleanly to the upstream
> >> because of a minor change around exit label. I think for jdk-jdk the
> >> change can be like this:
> >> http://cr.openjdk.java.net/~bulasevich/8229352/webrev.00
> >>
> >> A good practice for review is to add a test to reproduce the problem.
> >>
> >> Did your company (or you personally) signed OCA?
> >>
> >> thanks,
> >> Boris
> >>
> > 
> 



More information about the hotspot-dev mailing list