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

Method ReportMemory

IDEHelper/Compiler/BfCompiler.cpp:8190–8248  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8188}
8189
8190void BfCompiler::ReportMemory(MemReporter* memReporter)
8191{
8192 AutoCrit crit(mSystem->mDataLock);
8193
8194 {
8195 AutoMemReporter autoMemReporter(memReporter, "Context");
8196 mContext->ReportMemory(memReporter);
8197 }
8198
8199 for (auto type : mContext->mResolvedTypes)
8200 {
8201 AutoMemReporter autoMemReporter(memReporter, "Types");
8202 type->ReportMemory(memReporter);
8203 }
8204
8205 for (auto module : mContext->mModules)
8206 {
8207 AutoMemReporter autoMemReporter(memReporter, "Modules");
8208 module->ReportMemory(memReporter);
8209 }
8210
8211 {
8212 AutoMemReporter autoMemReporter(memReporter, "ScratchModule");
8213 mContext->mScratchModule->ReportMemory(memReporter);
8214 }
8215
8216 for (auto vdataModule : mVDataModules)
8217 {
8218 AutoMemReporter autoMemReporter(memReporter, "VDataModules");
8219 vdataModule->ReportMemory(memReporter);
8220 }
8221
8222 if (mHotData != NULL)
8223 {
8224 AutoMemReporter autoMemReporter(memReporter, "HotData");
8225 memReporter->Add(sizeof(HotData));
8226 memReporter->AddMap(mHotData->mMethodMap);
8227 for (auto& kv : mHotData->mMethodMap)
8228 {
8229 memReporter->AddStr(kv.mKey);
8230 memReporter->Add(sizeof(BfHotMethod));
8231 memReporter->AddVec(kv.mValue->mReferences);
8232 }
8233 }
8234
8235 if (mHotState != NULL)
8236 {
8237 AutoMemReporter autoMemReporter(memReporter, "HotState");
8238 memReporter->Add(sizeof(HotState));
8239 memReporter->AddVec(mHotState->mQueuedOutFiles, false);
8240 memReporter->AddHashSet(mHotState->mSlotDefineTypeIds, false);
8241 memReporter->AddHashSet(mHotState->mPendingDataChanges, false);
8242 memReporter->AddMap(mHotState->mDeletedTypeNameMap, false);
8243 for (auto& kv : mHotState->mDeletedTypeNameMap)
8244 {
8245 memReporter->AddStr(kv.mKey, false);
8246 }
8247 }

Callers

nothing calls this directly

Calls 2

AddMethod · 0.45
AddStrMethod · 0.45

Tested by

no test coverage detected