| 181 | } |
| 182 | |
| 183 | void fxDeleteProfiler(txMachine* the, void* stream) |
| 184 | { |
| 185 | txProfiler* profiler = the->profiler; |
| 186 | profiler->stop = profiler->when; |
| 187 | fxPrintProfiler(the, stream); |
| 188 | c_free(profiler->samples); |
| 189 | txU4 recordIndex = 0; |
| 190 | while (recordIndex < profiler->recordCount) { |
| 191 | txProfilerRecord* record = profiler->records[recordIndex]; |
| 192 | if (record) { |
| 193 | if (record->callees) |
| 194 | c_free(record->callees); |
| 195 | c_free(record); |
| 196 | } |
| 197 | recordIndex++; |
| 198 | } |
| 199 | c_free(profiler->records); |
| 200 | c_free(profiler); |
| 201 | the->profiler = C_NULL; |
| 202 | } |
| 203 | |
| 204 | txProfilerRecord* fxFrameToProfilerRecord(txMachine* the, txSlot* frame) |
| 205 | { |
nothing calls this directly
no test coverage detected