RFR 8226284 [lworld][c1] TestJNICalls.java fails with -DVerifyVM=true
Tobias Hartmann
tobias.hartmann at oracle.com
Tue Jun 18 11:57:04 UTC 2019
Hi Ioi,
looks good to me.
Best regards,
Tobias
On 18.06.19 06:15, Ioi Lam wrote:
> https://bugs.openjdk.java.net/browse/JDK-8226284
> http://cr.openjdk.java.net/~iklam/valhalla/8226284-TestJNICalls-DVerifyVM.v01/
>
> When C1-compiled code calls SharedRuntime::store_value_type_fields_to_buf,
> we may not know the type of the value object that's returned (e.g., when calling
> a method handle invoker [1]). As a result, it's not always possible for C1
> to generate an oopmap for this call site.
>
> When TestJNICalls.java is executed with -DVerifyVM=true, the -XX:+VerifyStack flag
> is enabled. The stack verification code will assert when it fails to find an oopmap
> for the callsite.
>
> The fix is to avoid stack verification when we are calling such a RuntimeStub. I also
> cleaned up the code a little by adding the virtual function CodeBlob::can_verify_stack().
>
>
> Thanks
> - Ioi
>
>
> ----
> [1]
> http://hg.openjdk.java.net/valhalla/valhalla/file/2315f0cda727/src/hotspot/share/c1/c1_LIRAssembler.cpp#l498
>
More information about the valhalla-dev
mailing list