mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-19 10:34:38 +02:00
8031389: On x86 C1 emits two relocations for polls
C1 emits two poll_type relocations at safepoint polls because LIR_Assembler::safepoint_poll(..) adds a relocation and calls LIR_Assembler::add_debug_info_for_branch(..) which adds a relocation as well. The implementation of add_debug_info_for_branch(..) is changed to not emit a poll relocation. Reviewed-by: kvn, roland
This commit is contained in:
parent
8bd4b5624c
commit
aeff8925b3
2 changed files with 1 additions and 5 deletions
|
@ -1612,13 +1612,10 @@ int LIR_Assembler::safepoint_poll(LIR_Opr tmp, CodeEmitInfo* info) {
|
|||
__ set((intptr_t)os::get_polling_page(), tmp->as_register());
|
||||
if (info != NULL) {
|
||||
add_debug_info_for_branch(info);
|
||||
} else {
|
||||
__ relocate(relocInfo::poll_type);
|
||||
}
|
||||
|
||||
int offset = __ offset();
|
||||
__ relocate(relocInfo::poll_type);
|
||||
__ ld_ptr(tmp->as_register(), 0, G0);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue