? disp_cp_chain_me_to_fastEP
: disp_cp_chain_me_to_slowEP;
- p = addr48_to_ireg_EXACTLY_18B(p, 5 /*x5/t0*/, (ULong)disp_cp_chain_me);
+ p = addr48_to_ireg_EXACTLY_18B(p, 5 /*x5/t0*/, (ULong)(HWord)disp_cp_chain_me);
/* c.jalr 0(t0) */
p = emit_CR(p, 0b10, 0 /*x0/zero*/, 5 /*x5/t0*/, 0b1001);
}
/* li t0, VG_(disp_cp_xindir) */
- p = imm64_to_ireg(p, 5 /*x5/t0*/, (ULong)disp_cp_xindir);
+ p = imm64_to_ireg(p, 5 /*x5/t0*/, (ULong)(HWord)disp_cp_xindir);
/* c.jr 0(t0) */
p = emit_CR(p, 0b10, 0 /*x0/zero*/, 5 /*x5/t0*/, 0b1000);
p = imm64_to_ireg(p, 8 /*x8/s0*/, trcval);
/* li t0, VG_(disp_cp_xassisted) */
- p = imm64_to_ireg(p, 5 /*x5/t0*/, (ULong)disp_cp_xassisted);
+ p = imm64_to_ireg(p, 5 /*x5/t0*/, (ULong)(HWord)disp_cp_xassisted);
/* c.jr 0(t0) */
p = emit_CR(p, 0b10, 0 /*x0/zero*/, 5 /*x5/t0*/, 0b1000);
UChar* p = place_to_chain;
vassert(((HWord)p & 1) == 0);
vassert(is_addr48_to_ireg_EXACTLY_18B(p, 5 /*x5/t0*/,
- (ULong)disp_cp_chain_me_EXPECTED));
+ (ULong)(HWord)disp_cp_chain_me_EXPECTED));
vassert(p[18] == 0x82 && p[19] == 0x92);
/* And what we want to change it to is:
The replacement has the same length as the original.
*/
- (void)addr48_to_ireg_EXACTLY_18B(p, 5 /*x5/t0*/, (ULong)place_to_jump_to);
+ (void)addr48_to_ireg_EXACTLY_18B(p, 5 /*x5/t0*/, (ULong)(HWord)place_to_jump_to);
p[18] = 0x82;
p[19] = 0x82;
* VG_(di_notify_mmap): in some cases, the 2 NSegments will
* have been merged and VG_(di_notify_mmap) only gets called
* once.
- * How to detect that the segments were be merged ?
+ * How to detect that the segments were merged ?
* Logically, they will be merged if the first segment ends
* at the beginning of the second segment:
* Seg1 virtual address + Seg1 segment_size