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

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Thu Oct 17 10:55:19 UTC 2019


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