| 27290 | } |
| 27291 | |
| 27292 | void BfModule::ReportMemory(MemReporter* memReporter) |
| 27293 | { |
| 27294 | memReporter->Add(sizeof(BfModule)); |
| 27295 | if (mBfIRBuilder != NULL) |
| 27296 | { |
| 27297 | memReporter->BeginSection("IRBuilder_ConstData"); |
| 27298 | memReporter->Add("Used", mBfIRBuilder->mTempAlloc.GetAllocSize()); |
| 27299 | memReporter->Add("Unused", mBfIRBuilder->mTempAlloc.GetTotalAllocSize() - mBfIRBuilder->mTempAlloc.GetAllocSize()); |
| 27300 | memReporter->EndSection(); |
| 27301 | |
| 27302 | memReporter->BeginSection("IRBuilder_BFIR"); |
| 27303 | memReporter->Add("Used", (int)(mBfIRBuilder->mStream.GetSize())); |
| 27304 | memReporter->Add("Unused", (int)(mBfIRBuilder->mStream.mPools.size() * ChunkedDataBuffer::ALLOC_SIZE) - mBfIRBuilder->mStream.GetSize()); |
| 27305 | memReporter->EndSection(); |
| 27306 | |
| 27307 | memReporter->Add(sizeof(BfIRBuilder)); |
| 27308 | } |
| 27309 | |
| 27310 | memReporter->BeginSection("FileInstanceMap"); |
| 27311 | memReporter->AddMap(mFileInstanceMap); |
| 27312 | memReporter->AddMap(mNamedFileInstanceMap); |
| 27313 | memReporter->Add((int)mNamedFileInstanceMap.size() * sizeof(BfFileInstance)); |
| 27314 | memReporter->EndSection(); |
| 27315 | |
| 27316 | memReporter->AddVec(mOwnedTypeInstances, false); |
| 27317 | memReporter->AddVec(mSpecializedMethodModules, false); |
| 27318 | memReporter->AddVec(mOutFileNames, false); |
| 27319 | memReporter->AddMap("FuncReferences", mFuncReferences, false); |
| 27320 | memReporter->AddMap(mInterfaceSlotRefs, false); |
| 27321 | memReporter->AddMap(mStaticFieldRefs, false); |
| 27322 | memReporter->AddMap(mClassVDataRefs, false); |
| 27323 | memReporter->AddMap("VDataExtMap", mClassVDataExtRefs, false); |
| 27324 | memReporter->AddMap(mTypeDataRefs, false); |
| 27325 | memReporter->AddMap(mDbgRawAllocDataRefs, false); |
| 27326 | memReporter->AddMap(mDeferredMethodCallData, false); |
| 27327 | memReporter->AddHashSet(mDeferredMethodIds, false); |
| 27328 | memReporter->AddHashSet("ModuleRefs", mModuleRefs, false); |
| 27329 | } |
| 27330 | |
| 27331 | // ClearModuleData is called immediately after the module is compiled, so don't clear out any data that needs to |
| 27332 | // be transient through the next compile |
nothing calls this directly
no test coverage detected