| 1090 | } |
| 1091 | |
| 1092 | MEM_NO_INSTRUMENT void callStackTrans() |
| 1093 | { |
| 1094 | #if defined(FASTGRIND_INSTRUMENT) |
| 1095 | for (auto &kv : _callstacks) |
| 1096 | { |
| 1097 | auto &arr = kv.second; |
| 1098 | for (size_t i = 0; i < __MEM_MAX_STACK_DEPTH; ++i) |
| 1099 | { |
| 1100 | const char *entry = arr[i]; |
| 1101 | if (!entry) |
| 1102 | break; |
| 1103 | |
| 1104 | void *func_addr = reinterpret_cast<void *>(const_cast<char *>(entry)); |
| 1105 | const char *resolved = enhancedSymbolResolve(func_addr); |
| 1106 | arr[i] = resolved; |
| 1107 | } |
| 1108 | } |
| 1109 | #endif |
| 1110 | } |
| 1111 | |
| 1112 | protected: |
| 1113 | // first map key is threadId, second map key is frameId, third map key is tick. |
no test coverage detected