59 assert(offset >= -255);
65 u1 targetreg = code & 0x1f;
66 u1 basereg = (code >> 5) & 0x1f;
82 u1 reg = (code >> 5) & 0x1f;
287 *((intptr_t *) datap) = (intptr_t) fi->
value;
325 u1 targetreg = code & 0x1f;
326 u1 basereg = (code >> 5) & 0x1f;
329 u1 isload = (pr->
mcode >> 22) & 0x3;
333 asme.ald(targetreg, basereg, fi->
offset);
336 asme.lld(targetreg, basereg, fi->
offset);
339 asme.ild(targetreg, basereg, fi->
offset);
342 asme.fld(targetreg, basereg, fi->
offset);
345 asme.dld(targetreg, basereg, fi->
offset);
348 os::abort(
"Unsupported type in patcher_get_putfield");
353 asme.ast(targetreg, basereg, fi->
offset);
356 asme.lst(targetreg, basereg, fi->
offset);
359 asme.ist(targetreg, basereg, fi->
offset);
362 asme.fst(targetreg, basereg, fi->
offset);
365 asme.dst(targetreg, basereg, fi->
offset);
368 os::abort(
"Unsupported type in patcher_get_putfield");
bool patcher_invokestatic_special(patchref_t *pr)
bool patcher_get_putstatic(patchref_t *pr)
bool patcher_resolve_classref_to_classinfo(patchref_t *pr)
#define emit_movn_imm(cd, Xd, imm)
bool patcher_invokeinterface(patchref_t *pr)
#define emit_cmn_imm32(cd, Wn, imm)
static void md_dcacheflush(void *addr, int nbytes)
static void patch_helper_ldr(u1 *codeptr, s4 offset, bool isint)
Helper function to patch in the correct LOAD instruction as we have ambiguity.
static void patch_helper_mov_imm(u1 *codeptr, s4 offset)
#define emit_ldr_imm(cd, Xt, Xn, imm)
#define emit_ldr_imm32(cd, Xt, Xn, imm)
void patcher_patch_code(patchref_t *pr)
bool patcher_invokevirtual(patchref_t *pr)
bool patcher_resolve_classref_to_flags(patchref_t *pr)
bool patcher_checkcast_interface(patchref_t *pr)
bool initialize_class(classinfo *c)
bool patcher_get_putfield(patchref_t *pr)
fieldinfo * resolve_field_eager(unresolved_field *ref)
methodinfo * resolve_method_eager(unresolved_method *ref)
#define emit_mov_imm(cd, Xd, imm)
classinfo * resolve_classref_eager(constant_classref *ref)
static void patch_helper_cmp_imm(u1 *codeptr, s4 offset)
static void md_icacheflush(void *addr, int nbytes)
#define emit_cmp_imm32(cd, Xn, imm)
bool patcher_resolve_classref_to_vftbl(patchref_t *pr)
bool patcher_instanceof_interface(patchref_t *pr)