BA (unconditional branch) instruction has reversed meaning of annulling bit. In few Hotspot places we have code which execute NOP instruction because we use incorrect annulling, like next:
__ br(Assembler::always, false, Assembler::pt, L_label);
__ delayed()->nop();
and
__ ba(L_label);
__ delayed()->nop();
__ br(Assembler::always, false, Assembler::pt, L_label);
__ delayed()->nop();
and
__ ba(L_label);
__ delayed()->nop();
- duplicates
-
JDK-6403974 Agressively fill SPARC delay slots
-
- Closed
-
- relates to
-
JDK-7067794 Allow to specify instruction for delay slot before branch
-
- Closed
-