8232046: AArch64 build failure after JDK-8225681

Reviewed-by: eosterlund
This commit is contained in:
Andrew Dinn 2019-10-10 10:59:13 +01:00
parent 986f2bbf2c
commit 67ebe0d274
2 changed files with 17 additions and 4 deletions

View File

@ -185,6 +185,10 @@ void CompiledDirectStaticCall::set_stub_to_clean(static_stub_Relocation* static_
NativeMovConstReg* method_holder
= nativeMovConstReg_at(stub + NativeInstruction::instruction_size);
method_holder->set_data(0);
if (!static_stub->is_aot()) {
NativeJump* jump = nativeJump_at(method_holder->next_instruction_address());
jump->set_jump_destination((address)-1);
}
}
//-----------------------------------------------------------------------------

View File

@ -332,9 +332,14 @@ address NativeJump::jump_destination() const {
// We use jump to self as the unresolved address which the inline
// cache code (and relocs) know about
// As a special case we also use sequence movptr(r,0); br(r);
// i.e. jump to 0 when we need leave space for a wide immediate
// load
// return -1 if jump to self
dest = (dest == (address) this) ? (address) -1 : dest;
// return -1 if jump to self or to 0
if ((dest == (address)this) || dest == 0) {
dest = (address) -1;
}
return dest;
}
@ -356,9 +361,13 @@ address NativeGeneralJump::jump_destination() const {
// We use jump to self as the unresolved address which the inline
// cache code (and relocs) know about
// As a special case we also use jump to 0 when first generating
// a general jump
// return -1 if jump to self
dest = (dest == (address) this) ? (address) -1 : dest;
// return -1 if jump to self or to 0
if ((dest == (address)this) || dest == 0) {
dest = (address) -1;
}
return dest;
}