Skip to content

Commit 401d0d6

Browse files
chadrakoPaul Hohensee
authored and
Paul Hohensee
committedOct 18, 2024
8335662: [AArch64] C1: guarantee(val < (1ULL << nbits)) failed: Field too big for insn
Reviewed-by: thartmann, eastigeevich
1 parent 8591109 commit 401d0d6

File tree

2 files changed

+105
-3
lines changed

2 files changed

+105
-3
lines changed
 

‎src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -275,14 +275,14 @@ void LIR_Assembler::osr_entry() {
275275
// verify the interpreter's monitor has a non-null object
276276
{
277277
Label L;
278-
__ ldr(rscratch1, Address(OSR_buf, slot_offset + 1*BytesPerWord));
278+
__ ldr(rscratch1, __ form_address(rscratch1, OSR_buf, slot_offset + 1*BytesPerWord, 0));
279279
__ cbnz(rscratch1, L);
280280
__ stop("locked object is null");
281281
__ bind(L);
282282
}
283283
#endif
284-
__ ldr(r19, Address(OSR_buf, slot_offset));
285-
__ ldr(r20, Address(OSR_buf, slot_offset + BytesPerWord));
284+
__ ldr(r19, __ form_address(rscratch1, OSR_buf, slot_offset, 0));
285+
__ ldr(r20, __ form_address(rscratch1, OSR_buf, slot_offset + BytesPerWord, 0));
286286
__ str(r19, frame_map()->address_for_monitor_lock(i));
287287
__ str(r20, frame_map()->address_for_monitor_object(i));
288288
}

0 commit comments

Comments
 (0)
Please sign in to comment.