CACAO
|
Go to the source code of this file.
Functions | |
void | patcher_patch_code (patchref_t *pr) |
static int32_t * | patch_checked_location (int32_t *p, int32_t val) |
static void | checked_icache_flush (void *addr, int nbytes, int32_t *check_loc) |
bool | patcher_is_valid_trap_instruction_at (void *pc) |
Check if the trap instruction at the given PC is valid. More... | |
static void | patch_out_mfence (void *pc) |
Overwrites the MFENCE instruction at the indicated address with a 3-byte NOP. More... | |
bool | patcher_resolve_classref_to_classinfo (patchref_t *pr) |
bool | patcher_resolve_classref_to_vftbl (patchref_t *pr) |
bool | patcher_resolve_classref_to_flags (patchref_t *pr) |
bool | patcher_get_putstatic (patchref_t *pr) |
bool | patcher_get_putfield (patchref_t *pr) |
bool | patcher_putfieldconst (patchref_t *pr) |
bool | patcher_invokestatic_special (patchref_t *pr) |
bool | patcher_invokevirtual (patchref_t *pr) |
bool | patcher_invokeinterface (patchref_t *pr) |
bool | patcher_checkcast_interface (patchref_t *pr) |
bool | patcher_instanceof_interface (patchref_t *pr) |
Definition at line 70 of file patcher.cpp.
|
static |
Definition at line 61 of file patcher.cpp.
Overwrites the MFENCE instruction at the indicated address with a 3-byte NOP.
The MFENCE instruction is not allowed to cross a (4-byte) word boundary.
pc | Program counter. |
Definition at line 98 of file patcher.cpp.
bool patcher_checkcast_interface | ( | patchref_t * | pr | ) |
Definition at line 480 of file patcher.cpp.
bool patcher_get_putfield | ( | patchref_t * | pr | ) |
Definition at line 284 of file patcher.cpp.
bool patcher_get_putstatic | ( | patchref_t * | pr | ) |
Definition at line 240 of file patcher.cpp.
bool patcher_instanceof_interface | ( | patchref_t * | pr | ) |
Definition at line 523 of file patcher.cpp.
bool patcher_invokeinterface | ( | patchref_t * | pr | ) |
Definition at line 435 of file patcher.cpp.
bool patcher_invokestatic_special | ( | patchref_t * | pr | ) |
Definition at line 361 of file patcher.cpp.
bool patcher_invokevirtual | ( | patchref_t * | pr | ) |
Definition at line 396 of file patcher.cpp.
bool patcher_is_valid_trap_instruction_at | ( | void * | pc | ) |
Check if the trap instruction at the given PC is valid.
pc | Program counter. |
Definition at line 83 of file patcher.cpp.
void patcher_patch_code | ( | patchref_t * | pr | ) |
Definition at line 55 of file patcher.cpp.
bool patcher_putfieldconst | ( | patchref_t * | pr | ) |
Definition at line 322 of file patcher.cpp.
bool patcher_resolve_classref_to_classinfo | ( | patchref_t * | pr | ) |
Definition at line 135 of file patcher.cpp.
bool patcher_resolve_classref_to_flags | ( | patchref_t * | pr | ) |
Definition at line 200 of file patcher.cpp.
bool patcher_resolve_classref_to_vftbl | ( | patchref_t * | pr | ) |
Definition at line 168 of file patcher.cpp.