8231757: [ppc] Fix VerifyOops. Errors show since 8231058.
David Holmes
david.holmes at oracle.com
Thu Oct 17 11:17:55 UTC 2019
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-runtime-dev
mailing list