Lines Matching refs:addr

33 	uint64_t             addr;  member
82 uint64_t addr, in ir_disasm_add_symbol() argument
92 sym->addr = addr; in ir_disasm_add_symbol()
93 sym->end = (addr + size - 1); in ir_disasm_add_symbol()
102 if (sym->addr > node->addr) { in ir_disasm_add_symbol()
103 IR_ASSERT(sym->addr > (node->end)); in ir_disasm_add_symbol()
111 } else if (sym->addr < node->addr) { in ir_disasm_add_symbol()
120 IR_ASSERT(sym->addr == node->addr); in ir_disasm_add_symbol()
185 const char* ir_disasm_find_symbol(uint64_t addr, int64_t *offset) in ir_disasm_find_symbol() argument
189 if (addr < node->addr) { in ir_disasm_find_symbol()
191 } else if (addr > node->end) { in ir_disasm_find_symbol()
194 *offset = addr - node->addr; in ir_disasm_find_symbol()
292 static const char* ir_disasm_resolver(uint64_t addr, in ir_disasm_resolver() argument
297 void *a = (void*)(uintptr_t)(addr); in ir_disasm_resolver()
300 name = ir_disasm_find_symbol(addr, offset); in ir_disasm_resolver()
313 name = ir_disasm_find_symbol(addr, offset); in ir_disasm_resolver()
334 uint64_t addr; local
439 if ((addr = ir_disasm_branch_target(cs, insn))
443 if ((addr = ir_disasm_branch_target(cs, &(insn[i])))
445 && (addr >= (uint64_t)(uintptr_t)start && addr < (uint64_t)(uintptr_t)end)) {
446 ir_hashtab_add(&labels, (uint32_t)((uintptr_t)addr - (uintptr_t)start), -1);
448 } else if ((addr = ir_disasm_rodata_reference(cs, insn))) {
450 } else if ((addr = ir_disasm_rodata_reference(cs, &(insn[i])))) {
452 if (addr >= (uint64_t)(uintptr_t)end && addr < (uint64_t)(uintptr_t)orig_end) {
453 ir_hashtab_add(&labels, (uint32_t)((uintptr_t)addr - (uintptr_t)start), -1);
522 if ((addr = ir_disasm_rodata_reference(cs, insn))) {
524 if ((addr = ir_disasm_rodata_reference(cs, &(insn[i])))) {
526 if (addr >= (uint64_t)(uintptr_t)end && addr < (uint64_t)(uintptr_t)orig_end) {
527 entry = ir_hashtab_find(&labels, (uint32_t)((uintptr_t)addr - (uintptr_t)start));
549 } else if ((sym = ir_disasm_resolver(addr, &offset))) {
583 addr = 0;
586 addr = addr * 16 + (*r - '0');
588 addr = addr * 16 + (*r - 'A' + 10);
590 addr = addr * 16 + (*r - 'a' + 10);
598 addr = (uint32_t)(-(int64_t)addr);
600 if (addr >= (uint64_t)(uintptr_t)start && addr < (uint64_t)(uintptr_t)orig_end) {
601 entry = ir_hashtab_find(&labels, (uint32_t)((uintptr_t)addr - (uintptr_t)start));
612 } else if ((sym = ir_disasm_resolver(addr, &offset))) {