static void emit_loadreg(u_int r, u_int hr)
{
int is64 = 0;
- assert(r < 64);
if (r == 0)
emit_zeroreg(hr);
else {
{
int rs=get_reg(regmap,target);
int rt=get_reg(regmap,target);
- if(rs<0) rs=get_reg(regmap,-1);
+ if(rs<0) rs=get_reg_temp(regmap);
assert(rs>=0);
u_int is_dynamic=0;
uintptr_t host_addr = 0;
static void inline_writestub(enum stub_type type, int i, u_int addr,
const signed char regmap[], int target, int adj, u_int reglist)
{
- int rs = get_reg(regmap,-1);
+ int rs = get_reg_temp(regmap);
int rt = get_reg(regmap,target);
assert(rs >= 0);
assert(rt >= 0);
return entry;
}
-static void do_dirty_stub_ds(u_int source_len)
-{
- u_int *loadlps = (void *)out;
- do_dirty_stub_base(start + 1, source_len);
- void *lit_jumpover = out;
- emit_jmp(out + 8*2);
- do_dirty_stub_emit_literals(loadlps);
- set_jump_target(lit_jumpover, out);
-}
-
static uint64_t get_from_ldr_literal(const u_int *i)
{
signed int ofs;