8228618: s390: c1/c2 fail to add a metadata relocation in the static call stub

Reviewed-by: mdoerr, goetz
This commit is contained in:
Richard Reingruber 2019-07-26 16:03:08 +02:00
parent a42636d34b
commit a24a333cfd
6 changed files with 41 additions and 80 deletions

View file

@ -119,7 +119,7 @@ void CompiledDirectStaticCall::set_to_interpreted(const methodHandle& callee, ad
#endif
// Update stub.
method_holder->set_data((intptr_t)callee());
method_holder->set_data((intptr_t)callee(), relocInfo::metadata_type);
jump->set_jump_destination(entry);
// Update jump to call.
@ -134,7 +134,7 @@ void CompiledDirectStaticCall::set_stub_to_clean(static_stub_Relocation* static_
// Creation also verifies the object.
NativeMovConstReg* method_holder = nativeMovConstReg_at(stub + NativeCall::get_IC_pos_in_java_to_interp_stub());
NativeJump* jump = nativeJump_at(method_holder->next_instruction_address());
method_holder->set_data(0);
method_holder->set_data(0, relocInfo::metadata_type);
jump->set_jump_destination((address)-1);
}