Skip to content

Commit b31ac46

Browse files
Dmitry ChuykoPaul Hohensee
authored andcommitted
8335662: [AArch64] C1: guarantee(val < (1ULL << nbits)) failed: Field too big for insn
Backport-of: 401d0d6b09ea422eacecda2900793a416097dc9b
1 parent b2255b9 commit b31ac46

File tree

2 files changed

+105
-3
lines changed

2 files changed

+105
-3
lines changed

src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -276,14 +276,14 @@ void LIR_Assembler::osr_entry() {
276276
// verify the interpreter's monitor has a non-null object
277277
{
278278
Label L;
279-
__ ldr(rscratch1, Address(OSR_buf, slot_offset + 1*BytesPerWord));
279+
__ ldr(rscratch1, __ form_address(rscratch1, OSR_buf, slot_offset + 1*BytesPerWord, 0));
280280
__ cbnz(rscratch1, L);
281281
__ stop("locked object is NULL");
282282
__ bind(L);
283283
}
284284
#endif
285-
__ ldr(r19, Address(OSR_buf, slot_offset));
286-
__ ldr(r20, Address(OSR_buf, slot_offset + BytesPerWord));
285+
__ ldr(r19, __ form_address(rscratch1, OSR_buf, slot_offset, 0));
286+
__ ldr(r20, __ form_address(rscratch1, OSR_buf, slot_offset + BytesPerWord, 0));
287287
__ str(r19, frame_map()->address_for_monitor_lock(i));
288288
__ str(r20, frame_map()->address_for_monitor_object(i));
289289
}

0 commit comments

Comments
 (0)