CACAO
Functions | Variables
patcher.cpp File Reference

Go to the source code of this file.

Functions

void patcher_patch_code (patchref_t *pr)
 
bool patcher_is_valid_trap_instruction_at (void *pc)
 Check if the trap instruction at the given PC is valid. More...
 
bool patcher_get_putstatic (patchref_t *pr)
 
bool patcher_getfield (patchref_t *pr)
 
bool patcher_putfield (patchref_t *pr)
 
bool patcher_putfieldconst (patchref_t *pr)
 
bool patcher_aconst (patchref_t *pr)
 
bool patcher_builtin_multianewarray (patchref_t *pr)
 
bool patcher_builtin_arraycheckcast (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_instanceof_flags (patchref_t *pr)
 
bool patcher_checkcast_interface (patchref_t *pr)
 
bool patcher_instanceof_interface (patchref_t *pr)
 
bool patcher_checkcast_class (patchref_t *pr)
 
bool patcher_instanceof_class (patchref_t *pr)
 

Variables

patcher_function_list_t patcher_function_list []
 

Function Documentation

bool patcher_aconst ( patchref_t pr)

Definition at line 281 of file patcher.cpp.

bool patcher_builtin_arraycheckcast ( patchref_t pr)

Definition at line 363 of file patcher.cpp.

bool patcher_builtin_multianewarray ( patchref_t pr)

Definition at line 324 of file patcher.cpp.

bool patcher_checkcast_class ( patchref_t pr)

Definition at line 656 of file patcher.cpp.

bool patcher_checkcast_instanceof_flags ( patchref_t pr)

Definition at line 528 of file patcher.cpp.

bool patcher_checkcast_interface ( patchref_t pr)

Definition at line 570 of file patcher.cpp.

bool patcher_get_putstatic ( patchref_t pr)

Definition at line 88 of file patcher.cpp.

bool patcher_getfield ( patchref_t pr)

Definition at line 131 of file patcher.cpp.

bool patcher_instanceof_class ( patchref_t pr)

Definition at line 693 of file patcher.cpp.

bool patcher_instanceof_interface ( patchref_t pr)

Definition at line 615 of file patcher.cpp.

bool patcher_invokeinterface ( patchref_t pr)

Definition at line 485 of file patcher.cpp.

bool patcher_invokestatic_special ( patchref_t pr)

Definition at line 405 of file patcher.cpp.

bool patcher_invokevirtual ( patchref_t pr)

Definition at line 444 of file patcher.cpp.

bool patcher_is_valid_trap_instruction_at ( void pc)

Check if the trap instruction at the given PC is valid.

Parameters
pcProgram counter.
Returns
true if valid, false otherwise.

Definition at line 70 of file patcher.cpp.

void patcher_patch_code ( patchref_t pr)

Definition at line 57 of file patcher.cpp.

bool patcher_putfield ( patchref_t pr)

Definition at line 177 of file patcher.cpp.

bool patcher_putfieldconst ( patchref_t pr)

Definition at line 229 of file patcher.cpp.

Variable Documentation

patcher_function_list_t patcher_function_list[]
Initial value:
= {
{ PATCHER_initialize_class, "initialize_class" },
{ PATCHER_resolve_class, "resolve_class" },
{ PATCHER_resolve_native_function, "resolve_native_function" },
{ PATCHER_invokestatic_special, "invokestatic_special" },
{ PATCHER_invokevirtual, "invokevirtual" },
{ PATCHER_invokeinterface, "invokeinterface" },
{ PATCHER_breakpoint, "breakpoint" },
{ PATCHER_checkcast_interface, "checkcast_interface" },
{ PATCHER_instanceof_interface, "instanceof_interface" },
{ PATCHER_get_putstatic, "get_putstatic" },
{ PATCHER_getfield, "getfield" },
{ PATCHER_putfield, "putfield" },
{ PATCHER_putfieldconst, "putfieldconst" },
{ PATCHER_builtin_multianewarray, "builtin_multianewarray" },
{ PATCHER_builtin_arraycheckcast, "builtin_arraycheckcast" },
{ PATCHER_checkcast_instanceof_flags, "checkcast_instanceof_flags" },
{ PATCHER_checkcast_class, "checkcast_class" },
{ PATCHER_instanceof_class, "instanceof_class" },
{ NULL, "-UNKNOWN PATCHER FUNCTION-" }
}
#define PATCHER_invokeinterface
#define PATCHER_resolve_class
#define PATCHER_putfieldconst
Definition: patcher.hpp:41
#define PATCHER_builtin_arraycheckcast
Definition: patcher.hpp:50
#define PATCHER_breakpoint
#define PATCHER_get_putstatic
#define PATCHER_checkcast_instanceof_flags
Definition: patcher.hpp:53
#define PATCHER_instanceof_interface
#define PATCHER_resolve_native_function
#define PATCHER_checkcast_class
Definition: patcher.hpp:56
#define PATCHER_getfield
Definition: patcher.hpp:35
#define PATCHER_checkcast_interface
#define PATCHER_builtin_multianewarray
Definition: patcher.hpp:47
#define PATCHER_invokestatic_special
#define PATCHER_invokevirtual
#define PATCHER_instanceof_class
Definition: patcher.hpp:59
#define PATCHER_initialize_class
#define PATCHER_putfield
Definition: patcher.hpp:38

Definition at line 722 of file patcher.cpp.