MCPcopy Create free account
hub / github.com/beefytech/Beef / ReportMemory

Method ReportMemory

IDEHelper/Compiler/BfModule.cpp:27292–27329  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27290}
27291
27292void 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

Callers

nothing calls this directly

Calls 7

BeginSectionMethod · 0.80
AddMethod · 0.45
GetAllocSizeMethod · 0.45
GetTotalAllocSizeMethod · 0.45
EndSectionMethod · 0.45
GetSizeMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected