RFR 8226284 [lworld][c1] TestJNICalls.java fails with -DVerifyVM=true
Ioi Lam
ioi.lam at oracle.com
Tue Jun 18 04:15:43 UTC 2019
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