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.


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