Home | History | Annotate | Download | only in coregrind

Lines Matching refs:ips

56    IPs into 'ips'.  In order to be thread-safe, we pass in the
58 meaningful. Returns number of IPs put in 'ips'.
103 // a collision here between two IPs, we expect to not (often) have the
143 in the comparison between 2 IPs stored in fp_CF_verif_cache).
144 In other words, if two IPs are only differing on the last 2 bits,
160 /*OUT*/Addr* ips, UInt max_n_ips,
217 /* Snaffle IPs from the client's stack into ips[0 .. max_n_ips-1],
253 ips[0] = uregs.xip;
282 ips[0] = uregs.xip;
358 // marker) or a one -- these correspond to recorded IPs of 0 or -1.
459 /* Add a frame in ips/sps/fps */
464 ips[i++] = uregs.xip - 1;
467 VG_(printf)(" ips%s[%d]=0x%08lx\n", unwind_case, i-1, ips[i-1]);
470 RECURSIVE_MERGE(cmrf,ips,i);
505 /*OUT*/Addr* ips, UInt max_n_ips,
525 /* Snaffle IPs from the client's stack into ips[0 .. max_n_ips-1],
562 ips[0] = uregs.xip;
569 ips[0] = uregs.xip;
575 i-1, ips[i-1], uregs.xbp, uregs.xsp);
587 ips[i] = *(Addr *)uregs.xsp - 1;
631 ips[i++] = uregs.xip - 1; /* -1: refer to calling insn, not the RA */
634 i-1, ips[i-1], uregs.xbp, uregs.xsp);
636 RECURSIVE_MERGE(cmrf,ips,i);
667 ips[i++] = uregs.xip - 1; /* -1: refer to calling insn, not the RA */
670 i-1, ips[i-1], uregs.xbp, uregs.xsp);
672 RECURSIVE_MERGE(cmrf,ips,i);
693 ips[i++] = uregs.xip == 0
699 VG_(printf)(" ipsH[%d]=%#08lx\n", i-1, ips[i-1]);
702 RECURSIVE_MERGE(cmrf,ips,i);
722 /*OUT*/Addr* ips, UInt max_n_ips,
752 /* Snaffle IPs from the client's stack into ips[0 .. max_n_ips-1],
776 ips[0] = ip;
827 ips[0] = ip;
886 ips[i++] = ip - 1; /* -1: refer to calling insn, not the RA */
888 VG_(printf)(" ipsF[%d]=%#08lx\n", i-1, ips[i-1]);
892 RECURSIVE_MERGE(cmrf,ips,i);
994 /*OUT*/Addr* ips, UInt max_n_ips,
1017 /* Snaffle IPs from the client's stack into ips[0 .. max_n_ips-1],
1044 ips[0] = uregs.r15;
1052 ips[0] = uregs.r15;
1071 ips[i++] = (uregs.r15 & 0xFFFFFFFE) - 1;
1076 RECURSIVE_MERGE(cmrf,ips,i);
1100 if (abs_diff(cand, ips[i-1]) > 1) {
1103 ips[i++] = cand;
1104 RECURSIVE_MERGE(cmrf,ips,i);
1117 if (abs_diff(cand, ips[i-1]) > 1) {
1120 ips[i++] = cand;
1121 RECURSIVE_MERGE(cmrf,ips,i);
1140 /*OUT*/Addr* ips, UInt max_n_ips,
1161 /* Snaffle IPs from the client's stack into ips[0 .. max_n_ips-1],
1188 ips[0] = uregs.pc;
1196 ips[0] = uregs.pc;
1212 ips[i++] = uregs.pc - 1;
1217 RECURSIVE_MERGE(cmrf,ips,i);
1236 /*OUT*/Addr* ips, UInt max_n_ips,
1268 ips[0] = uregs.ia;
1283 ips[i++] = uregs.ia - 1;
1285 RECURSIVE_MERGE(cmrf,ips,i);
1301 ips[i++] = uregs.lr - 1;
1302 RECURSIVE_MERGE(cmrf,ips,i);
1319 /*OUT*/Addr* ips, UInt max_n_ips,
1346 /* Snaffle IPs from the client's stack into ips[0 .. max_n_ips-1],
1362 ips[0] = uregs.pc;
1383 ips[i++] = uregs.pc - 4;
1385 RECURSIVE_MERGE(cmrf,ips,i);
1441 ips[i++] = uregs.ra - 8;
1442 RECURSIVE_MERGE(cmrf,ips,i);
1457 ips[i++] = uregs.ra - 8;
1458 RECURSIVE_MERGE(cmrf,ips,i);
1482 /*OUT*/StackTrace ips, UInt max_n_ips,
1536 return VG_(get_StackTrace_wrk)(tid, ips, max_n_ips,
1561 void VG_(pp_StackTrace) ( StackTrace ips, UInt n_ips )
1568 VG_(apply_StackTrace)( printIpDesc, NULL, ips, n_ips );
1577 Addr ips[max_n_ips];
1579 = VG_(get_StackTrace)(tid, ips, max_n_ips,
1583 VG_(pp_StackTrace)(ips, n_ips);
1589 StackTrace ips, UInt n_ips
1600 Vg_FnNameKind kind = VG_(get_fnname_kind_from_IP)(ips[i]);
1610 action(i, ips[i], opaque);