Skip to content

Commit

Permalink
8330806: test/hotspot/jtreg/compiler/c1/TestLargeMonitorOffset.java f…
Browse files Browse the repository at this point in the history
…ails on ARM32

Reviewed-by: snazarki, dsamersoff
  • Loading branch information
Aleksei Voitylov authored and Dmitry Samersoff committed Jul 9, 2024
1 parent f3ff4f7 commit 0e0dfca
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,14 @@ void LIR_Assembler::osr_entry() {
int monitor_offset = (method()->max_locals() + 2 * (number_of_locks - 1)) * BytesPerWord;
for (int i = 0; i < number_of_locks; i++) {
int slot_offset = monitor_offset - (i * 2 * BytesPerWord);
__ ldr(R1, Address(OSR_buf, slot_offset + 0*BytesPerWord));
__ ldr(R2, Address(OSR_buf, slot_offset + 1*BytesPerWord));
if (slot_offset >= 4096 - BytesPerWord) {
__ add_slow(R2, OSR_buf, slot_offset);
__ ldr(R1, Address(R2, 0*BytesPerWord));
__ ldr(R2, Address(R2, 1*BytesPerWord));
} else {
__ ldr(R1, Address(OSR_buf, slot_offset + 0*BytesPerWord));
__ ldr(R2, Address(OSR_buf, slot_offset + 1*BytesPerWord));
}
__ str(R1, frame_map()->address_for_monitor_lock(i));
__ str(R2, frame_map()->address_for_monitor_object(i));
}
Expand Down

1 comment on commit 0e0dfca

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.