59 *((uint16_t*) pr->
mpc) = (uint16_t) pr->
mcode;
72 uint16_t mcode = *((uint16_t*) pc);
75 return (mcode == 0x0b0f);
112 *((intptr_t *) (ra + 2)) = (intptr_t) fi->
value;
150 int clen = SIZEOF_VOID_P;
155 *((
u4 *) (ra + 6 + 2)) = (
u4) (fi->
offset + 4);
195 int clen = SIZEOF_VOID_P;
207 *((
u4 *) (ra + 6 + 2)) = (
u4) (fi->
offset + 4);
247 int clen = SIZEOF_VOID_P;
259 *((
u4 *) (ra + 10 + 2)) = (
u4) (fi->
offset + 4);
508 *((
s4 *) (ra + 2 + 6 + 2)) =
590 *((
s4 *) (ra + 6 + 6 + 2 + 6 + 6 + 2)) =
593 md_icacheflush((
void*) (ra + 6 + 2), SIZEOF_VOID_P + 6 + 6 + 6 + 2);
635 *((
s4 *) (ra + 6 + 6 + 2 + 6 + 2)) =
724 #ifdef ENABLE_VERIFIER
743 { NULL,
"-UNKNOWN PATCHER FUNCTION-" }
bool patcher_invokestatic_special(patchref_t *pr)
bool patcher_get_putstatic(patchref_t *pr)
#define PATCHER_invokeinterface
bool patcher_invokeinterface(patchref_t *pr)
#define PATCHER_CALL_SIZE
bool patcher_instanceof_class(patchref_t *pr)
#define PATCHER_resolve_class
#define PATCHER_putfieldconst
#define PATCHER_builtin_arraycheckcast
#define PATCHER_breakpoint
patcher_function_list_t patcher_function_list[]
bool patcher_putfield(patchref_t *pr)
#define PATCHER_get_putstatic
#define PATCHER_checkcast_instanceof_flags
#define BUILTIN_arraycheckcast
#define PATCHER_instanceof_interface
#define IS_2_WORD_TYPE(a)
#define PATCHER_resolve_native_function
void patcher_patch_code(patchref_t *pr)
bool patcher_invokevirtual(patchref_t *pr)
bool patcher_aconst(patchref_t *pr)
#define PATCHER_checkcast_class
bool patcher_checkcast_interface(patchref_t *pr)
bool initialize_class(classinfo *c)
bool patcher_putfieldconst(patchref_t *pr)
#define PATCHER_checkcast_interface
#define PATCHER_builtin_multianewarray
#define PATCHER_invokestatic_special
fieldinfo * resolve_field_eager(unresolved_field *ref)
#define PATCHER_invokevirtual
#define PATCHER_instanceof_class
bool patcher_checkcast_instanceof_flags(patchref_t *pr)
methodinfo * resolve_method_eager(unresolved_method *ref)
#define PATCHER_initialize_class
bool patcher_builtin_arraycheckcast(patchref_t *pr)
classinfo * resolve_classref_eager(constant_classref *ref)
bool patcher_builtin_multianewarray(patchref_t *pr)
static void md_icacheflush(void *addr, int nbytes)
bool patcher_is_valid_trap_instruction_at(void *pc)
Check if the trap instruction at the given PC is valid.
bool patcher_getfield(patchref_t *pr)
bool patcher_checkcast_class(patchref_t *pr)
bool patcher_instanceof_interface(patchref_t *pr)