8231757: [ppc] Fix VerifyOops. Errors show since 8231058.

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Mon Nov 11 15:17:23 UTC 2019


Hi David,

thanks for looking again. 
Martin checked the PPC code.

Best regards,
  Goetz.

> -----Original Message-----
> From: David Holmes <david.holmes at oracle.com>
> Sent: Montag, 11. November 2019 08:56
> To: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>; hotspot-runtime-
> dev at openjdk.java.net; 'hotspot-compiler-dev at openjdk.java.net' <hotspot-
> compiler-dev at openjdk.java.net>
> Subject: Re: 8231757: [ppc] Fix VerifyOops. Errors show since 8231058.
> 
> Hi Goetz,
> 
> Please note I only looked at the test initially and have not reviewed
> this overall fix as I don't know the PPC code.
> 
> The updated test seems fine.
> 
> Thanks,
> David
> 
> On 9/11/2019 1:32 am, Lindenmaier, Goetz wrote:
> > Hi,
> >
> > I waited for https://bugs.openjdk.java.net/browse/JDK-8233081
> > which makes one of the fixes unnecessary.
> > Also, I had to fix the argument of verify_oop_helper
> > from oop to oopDesc* for the fastdebug build.
> >
> > New webrev:
> > http://cr.openjdk.java.net/~goetz/wr19/8231757-fix_VerifyOops/03/
> >
> > Best regards,
> >    Goetz.
> >
> >> -----Original Message-----
> >> From: David Holmes <david.holmes at oracle.com>
> >> Sent: Freitag, 18. Oktober 2019 01:38
> >> To: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>; hotspot-runtime-
> >> dev at openjdk.java.net; 'hotspot-compiler-dev at openjdk.java.net' <hotspot-
> >> compiler-dev at openjdk.java.net>
> >> Subject: Re: 8231757: [ppc] Fix VerifyOops. Errors show since 8231058.
> >>
> >> On 18/10/2019 12:10 am, Lindenmaier, Goetz wrote:
> >>> Hi David,
> >>>
> >>> you are right, thanks for pointing me to that!
> >>> Doing one test for vm.bits=64 and one for 32 should fix it:
> >>> http://cr.openjdk.java.net/~goetz/wr19/8231757-fix_VerifyOops/01/
> >>
> >> s/01/02/ :)
> >>
> >> For the 32-bit case you can delete the line:
> >>
> >>      * @requires vm.debug & (os.arch != "sparc") & (os.arch != "sparcv9")
> >>
> >> For the 64-but case you can delete the "sparc" check from the same line.
> >>
> >> Thanks,
> >> David
> >>
> >>>
> >>> Best regards,
> >>>     Goetz.
> >>>
> >>>> -----Original Message-----
> >>>> From: David Holmes <david.holmes at oracle.com>
> >>>> Sent: Donnerstag, 17. Oktober 2019 13:18
> >>>> To: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>; hotspot-runtime-
> >>>> dev at openjdk.java.net; 'hotspot-compiler-dev at openjdk.java.net'
> <hotspot-
> >>>> compiler-dev at openjdk.java.net>
> >>>> Subject: Re: 8231757: [ppc] Fix VerifyOops. Errors show since 8231058.
> >>>>
> >>>> Hi Goetz,
> >>>>
> >>>> UseCompressedOops is a 64-bit flag only so your change will break the
> >>>> test on 32-bit systems.
> >>>>
> >>>> David
> >>>>
> >>>> On 17/10/2019 8:55 pm, Lindenmaier, Goetz wrote:
> >>>>> Hi,
> >>>>>
> >>>>> 8231058 introduced a test that enables +VerifyOops.
> >>>>> This fails on ppc, because this was not used in a very
> >>>>> long time.
> >>>>>
> >>>>> The crash is caused by passing compressed oops from
> >>>>> LIR_Assembler::store() to the checker routine.
> >>>>> I fix this by implementing a checker routine verify_coop
> >>>>> that first decompresses the coop.  This makes the new
> >>>>> test pass.
> >>>>>
> >>>>> Further testing showed that the additional checker
> >>>>> coding makes Patching Stubs overflow. These
> >>>>> can not be increased in size to fit the code. I
> >>>>> disable generating verify_oop code in LIRAssembler::load()
> >>>>> which fixes the issue.
> >>>>>
> >>>>> Further I extended the message printed when verification
> >>>>> of an oop failed. First, I print the location in the source
> >>>>> code where the checker code was generated. Second,
> >>>>> I print the faulty oop.
> >>>>>
> >>>>> I also improved the message printed when PatchingStubs
> >>>>> overflow.
> >>>>>
> >>>>> Finally, I improve the test to run with and without compressed
> >>>>> Oops.
> >>>>>
> >>>>> Please review:
> >>>>> http://cr.openjdk.java.net/~goetz/wr19/8231757-fix_VerifyOops/01/
> >>>>>
> >>>>> @runtime as I modify the test introduced there
> >>>>> @compiler as the error is in C1.
> >>>>>
> >>>>> Best regards,
> >>>>>      Goetz.
> >>>>>


More information about the hotspot-compiler-dev mailing list