-
Type:
Bug
-
Status: Resolved
-
Priority:
P3
-
Resolution: Fixed
-
Affects Version/s: repo-valhalla
-
Fix Version/s: repo-valhalla
-
Component/s: hotspot
-
Subcomponent:
$ jtreg ....... -vmoptions:-XX:+EnableValhallaC1 -vmoptions:-XX:TieredStopAtLevel=1 -DVerifyVM=true TestJNICalls.java
Current thread (0x00007ffff0028000): JavaThread "main" [_thread_in_vm, id=8204, stack(0x00007ffff7ec8000,0x00007ffff7fc9000)]
Stack: [0x00007ffff7ec8000,0x00007ffff7fc9000], sp=0x00007ffff7fc4a70, free space=1010k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1a0f03a] ImmutableOopMapSet::find_map_at_offset(int) const+0xdc
V [libjvm.so+0x11a16c6] CodeBlob::oop_map_for_return_address(unsigned char*)+0x7e
V [libjvm.so+0x1a0e059] OopMapSet::all_do(frame const*, RegisterMap const*, OopClosure*, void (*)(oopDesc**, oopDesc**), OopClosure*)+0xe5
V [libjvm.so+0x1a0df71] OopMapSet::oops_do(frame const*, RegisterMap const*, OopClosure*)+0x39
V [libjvm.so+0x13b67b6] frame::oops_code_blob_do(OopClosure*, CodeBlobClosure*, RegisterMap const*)+0x8c
V [libjvm.so+0x13b6ef8] frame::oops_do_internal(OopClosure*, CodeBlobClosure*, RegisterMap*, bool)+0xbe
V [libjvm.so+0x13b7153] frame::verify(RegisterMap const*)+0x117
V [libjvm.so+0x153b342] InterfaceSupport::verify_stack()+0x132
V [libjvm.so+0x153a912] VMEntryWrapper::~VMEntryWrapper()+0x7e
V [libjvm.so+0x1b36983] SharedRuntime::store_value_type_fields_to_buf(JavaThread*, long)+0x3e7
v ~RuntimeStub::store_value_type_fields_to_buf
J 145 c1 compiler.valhalla.valuetypes.MyValue1.createWithFieldsInline(IJ)Qcompiler/valhalla/valuetypes/MyValue1; (86 bytes) @ 0x00007fffd8ee2334 [0x00007fffd8ecf9e0+0x0000000000012954]
j compiler.valhalla.valuetypes.TestJNICalls.test2_verifier(Z)V+6
[......]
The problem is the RuntimeStub for the SharedRuntime::store_value_type_fields_to_buf call doesn't support stack verification.
Current thread (0x00007ffff0028000): JavaThread "main" [_thread_in_vm, id=8204, stack(0x00007ffff7ec8000,0x00007ffff7fc9000)]
Stack: [0x00007ffff7ec8000,0x00007ffff7fc9000], sp=0x00007ffff7fc4a70, free space=1010k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1a0f03a] ImmutableOopMapSet::find_map_at_offset(int) const+0xdc
V [libjvm.so+0x11a16c6] CodeBlob::oop_map_for_return_address(unsigned char*)+0x7e
V [libjvm.so+0x1a0e059] OopMapSet::all_do(frame const*, RegisterMap const*, OopClosure*, void (*)(oopDesc**, oopDesc**), OopClosure*)+0xe5
V [libjvm.so+0x1a0df71] OopMapSet::oops_do(frame const*, RegisterMap const*, OopClosure*)+0x39
V [libjvm.so+0x13b67b6] frame::oops_code_blob_do(OopClosure*, CodeBlobClosure*, RegisterMap const*)+0x8c
V [libjvm.so+0x13b6ef8] frame::oops_do_internal(OopClosure*, CodeBlobClosure*, RegisterMap*, bool)+0xbe
V [libjvm.so+0x13b7153] frame::verify(RegisterMap const*)+0x117
V [libjvm.so+0x153b342] InterfaceSupport::verify_stack()+0x132
V [libjvm.so+0x153a912] VMEntryWrapper::~VMEntryWrapper()+0x7e
V [libjvm.so+0x1b36983] SharedRuntime::store_value_type_fields_to_buf(JavaThread*, long)+0x3e7
v ~RuntimeStub::store_value_type_fields_to_buf
J 145 c1 compiler.valhalla.valuetypes.MyValue1.createWithFieldsInline(IJ)Qcompiler/valhalla/valuetypes/MyValue1; (86 bytes) @ 0x00007fffd8ee2334 [0x00007fffd8ecf9e0+0x0000000000012954]
j compiler.valhalla.valuetypes.TestJNICalls.test2_verifier(Z)V+6
[......]
The problem is the RuntimeStub for the SharedRuntime::store_value_type_fields_to_buf call doesn't support stack verification.
- relates to
-
JDK-8227568 [lworld][c1] oopmap missing for calls to store_value_type_fields_to_buf
-
- Resolved
-