Lines Matching defs:reg_ctx

395 uint16_t read_register_u16_raw(RegisterContext *reg_ctx,
397 const RegisterInfo *reg_info = reg_ctx->GetRegisterInfoByName(reg_name);
401 bool success = reg_ctx->ReadRegister(reg_info, reg_value);
407 uint32_t read_register_u32_raw(RegisterContext *reg_ctx,
409 const RegisterInfo *reg_info = reg_ctx->GetRegisterInfoByName(reg_name);
413 bool success = reg_ctx->ReadRegister(reg_info, reg_value);
419 uint64_t read_register_u64_raw(RegisterContext *reg_ctx,
421 const RegisterInfo *reg_info = reg_ctx->GetRegisterInfoByName(reg_name);
425 bool success = reg_ctx->ReadRegister(reg_info, reg_value);
431 llvm::support::ulittle16_t read_register_u16(RegisterContext *reg_ctx,
434 read_register_u16_raw(reg_ctx, reg_name));
437 llvm::support::ulittle32_t read_register_u32(RegisterContext *reg_ctx,
440 read_register_u32_raw(reg_ctx, reg_name));
443 llvm::support::ulittle64_t read_register_u64(RegisterContext *reg_ctx,
446 read_register_u64_raw(reg_ctx, reg_name));
449 void read_register_u128(RegisterContext *reg_ctx, llvm::StringRef reg_name,
451 const RegisterInfo *reg_info = reg_ctx->GetRegisterInfoByName(reg_name);
454 if (reg_ctx->ReadRegister(reg_info, reg_value)) {
467 GetThreadContext_x86_64(RegisterContext *reg_ctx) {
475 thread_context.rax = read_register_u64(reg_ctx, "rax");
476 thread_context.rbx = read_register_u64(reg_ctx, "rbx");
477 thread_context.rcx = read_register_u64(reg_ctx, "rcx");
478 thread_context.rdx = read_register_u64(reg_ctx, "rdx");
479 thread_context.rdi = read_register_u64(reg_ctx, "rdi");
480 thread_context.rsi = read_register_u64(reg_ctx, "rsi");
481 thread_context.rbp = read_register_u64(reg_ctx, "rbp");
482 thread_context.rsp = read_register_u64(reg_ctx, "rsp");
483 thread_context.r8 = read_register_u64(reg_ctx, "r8");
484 thread_context.r9 = read_register_u64(reg_ctx, "r9");
485 thread_context.r10 = read_register_u64(reg_ctx, "r10");
486 thread_context.r11 = read_register_u64(reg_ctx, "r11");
487 thread_context.r12 = read_register_u64(reg_ctx, "r12");
488 thread_context.r13 = read_register_u64(reg_ctx, "r13");
489 thread_context.r14 = read_register_u64(reg_ctx, "r14");
490 thread_context.r15 = read_register_u64(reg_ctx, "r15");
491 thread_context.rip = read_register_u64(reg_ctx, "rip");
492 thread_context.eflags = read_register_u32(reg_ctx, "rflags");
493 thread_context.cs = read_register_u16(reg_ctx, "cs");
494 thread_context.fs = read_register_u16(reg_ctx, "fs");
495 thread_context.gs = read_register_u16(reg_ctx, "gs");
496 thread_context.ss = read_register_u16(reg_ctx, "ss");
497 thread_context.ds = read_register_u16(reg_ctx, "ds");
502 GetThreadContext_ARM64(RegisterContext *reg_ctx) {
511 thread_context.x[i] = read_register_u64(reg_ctx, reg_name);
515 thread_context.x[31] = read_register_u64(reg_ctx, "sp");
516 thread_context.pc = read_register_u64(reg_ctx, "pc");
517 thread_context.cpsr = read_register_u32(reg_ctx, "cpsr");
518 thread_context.fpsr = read_register_u32(reg_ctx, "fpsr");
519 thread_context.fpcr = read_register_u32(reg_ctx, "fpcr");
522 read_register_u128(reg_ctx, reg_name, &thread_context.v[i * 16]);
537 bool prepareRegisterContext(RegisterContext *reg_ctx) {
540 x86_64 = GetThreadContext_x86_64(reg_ctx);
543 arm64 = GetThreadContext_ARM64(reg_ctx);
622 RegisterContext *reg_ctx = reg_ctx_sp.get();
626 if (!thread_context.prepareRegisterContext(reg_ctx)) {
633 uint64_t sp = reg_ctx->GetSP();