75 sp = (
u1 *) _mc->mc_esp;
76 xpc = (
u1 *) _mc->mc_eip;
87 if ((opc == 0x8b) && (mod == 0) && (rm == 5)) {
123 vm_abort(
"md_signal_handler_sigsegv: Unkown register %d", d);
138 sp = sp + 1 * SIZEOF_VOID_P;
161 _mc->mc_esp = (uintptr_t) sp;
189 sp = (
u1 *) _mc->mc_esp;
190 xpc = (
u1 *) _mc->mc_eip;
225 sp = (
u1 *) _mc->mc_esp;
226 xpc = (
u1 *) _mc->mc_eip;
238 log_println(
"md_signal_handler_sigill: Unknown illegal instruction at 0x%lx", xpc);
239 #if defined(ENABLE_DISASSEMBLER)
272 pc = (
u1 *) _mc->mc_eip;
290 es->
pc = (
u1 *) _mc->mc_eip;
291 es->
sp = (
u1 *) _mc->mc_esp;
306 es->
fltregs[
i] = 0xdeadbeefdeadbeefULL;
332 _mc->mc_eip = (uintptr_t) es->
pc;
333 _mc->mc_esp = (uintptr_t) es->
sp;
#define M_ALD_MEM_GET_OPC(p)
u1 * disassinstr(u1 *code)
void md_signal_handler_sigsegv(int sig, siginfo_t *siginfo, void *_p)
NullPointerException signal handler for hardware null pointer check.
#define M_ALD_MEM_GET_REG(p)
void md_signal_handler_sigill(int sig, siginfo_t *siginfo, void *_p)
Illegal Instruction signal handler for hardware exception checks.
alloc::set< EdgeType >::type mod
typedef void(JNICALL *jvmtiEventSingleStep)(jvmtiEnv *jvmti_env
struct sigcontext uc_mcontext
void log_println(const char *text,...)
#define M_ALD_MEM_GET_DISP(p)
void md_signal_handler_sigfpe(int sig, siginfo_t *siginfo, void *_p)
void vm_abort(const char *text,...)
void md_signal_handler_sigusr2(int sig, siginfo_t *siginfo, void *_p)
void md_executionstate_write(executionstate_t *es, void *context)
void md_executionstate_read(executionstate_t *es, void *context)
#define M_ALD_MEM_GET_MOD(p)
void trap_handle(int sig, void *xpc, void *context)
Handles the signal which is generated by trap instructions, caught by a signal handler and calls the ...
static void * md_stacktrace_get_returnaddress(void *sp, int32_t stackframesize)
uintptr_t intregs[INT_REG_CNT]
bool patcher_is_valid_trap_instruction_at(void *pc)
Check if the trap instruction at the given PC is valid.
double fltregs[FLT_REG_CNT]
#define M_ALD_MEM_GET_RM(p)
bool patcher_is_patched_at(void *pc)