8231757: [ppc] Fix VerifyOops. Errors show since 8231058.
david.holmes at oracle.com
Thu Oct 17 23:37:32 UTC 2019
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:
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.
> Best regards,
>> -----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.
>> On 17/10/2019 8:55 pm, Lindenmaier, Goetz wrote:
>>> 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
>>> Finally, I improve the test to run with and without compressed
>>> Please review:
>>> @runtime as I modify the test introduced there
>>> @compiler as the error is in C1.
>>> Best regards,
More information about the hotspot-runtime-dev