@@ -408,10 +408,13 @@ void MacroAssembler::_verify_oop(Register reg, const char* s, const char* file,
408
408
push_reg (RegSet::of (ra, t0, t1, c_rarg0), sp);
409
409
410
410
mv (c_rarg0, reg); // c_rarg0 : x10
411
- // The length of the instruction sequence emitted should be independent
412
- // of the value of the local char buffer address so that the size of mach
413
- // nodes for scratch emit and normal emit matches.
414
- movptr (t0, (address)b);
411
+ {
412
+ // The length of the instruction sequence emitted should not depend
413
+ // on the address of the char buffer so that the size of mach nodes for
414
+ // scratch emit and normal emit matches.
415
+ IncompressibleRegion ir (this ); // Fixed length
416
+ movptr (t0, (address) b);
417
+ }
415
418
416
419
// call indirectly to solve generation ordering problem
417
420
ExternalAddress target (StubRoutines::verify_oop_subroutine_entry_address ());
@@ -450,10 +453,13 @@ void MacroAssembler::_verify_oop_addr(Address addr, const char* s, const char* f
450
453
ld (x10, addr);
451
454
}
452
455
453
- // The length of the instruction sequence emitted should be independent
454
- // of the value of the local char buffer address so that the size of mach
455
- // nodes for scratch emit and normal emit matches.
456
- movptr (t0, (address)b);
456
+ {
457
+ // The length of the instruction sequence emitted should not depend
458
+ // on the address of the char buffer so that the size of mach nodes for
459
+ // scratch emit and normal emit matches.
460
+ IncompressibleRegion ir (this ); // Fixed length
461
+ movptr (t0, (address) b);
462
+ }
457
463
458
464
// call indirectly to solve generation ordering problem
459
465
ExternalAddress target (StubRoutines::verify_oop_subroutine_entry_address ());
0 commit comments