| 13 | } |
| 14 | |
| 15 | int BaseBlocks::LastIndex(u32 startpc) const |
| 16 | { |
| 17 | if (0 == blocks.size()) |
| 18 | return -1; |
| 19 | |
| 20 | int imin = 0, imax = blocks.size() - 1; |
| 21 | |
| 22 | while (imin != imax) |
| 23 | { |
| 24 | const int imid = (imin + imax + 1) >> 1; |
| 25 | |
| 26 | if (blocks[imid].startpc > startpc) |
| 27 | imax = imid - 1; |
| 28 | else |
| 29 | imin = imid; |
| 30 | } |
| 31 | |
| 32 | return imin; |
| 33 | } |
| 34 | |
| 35 | #if 0 |
| 36 | BASEBLOCKEX* BaseBlocks::GetByX86(uptr ip) |
no test coverage detected