MCPcopy Create free account
hub / github.com/DaedalusX64/daedalus / Clear

Method Clear

Source/DynaRec/FragmentCache.cpp:275–301  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

273//
274//*************************************************************************************
275void CFragmentCache::Clear()
276{
277#ifdef DAEDALUS_DEBUG_CONSOLE
278 if(CDebugConsole::IsAvailable())
279 {
280 DBGConsole_Msg( 0, "Clearing fragment cache of %d fragments", mFragments.size() );
281 }
282#endif
283 // Clear out all the framents
284 for(FragmentVec::iterator it = mFragments.begin(); it != mFragments.end(); ++it)
285 {
286 delete it->Fragment;
287 }
288
289 mFragments.erase( mFragments.begin(), mFragments.end() );
290 mMemoryUsage = 0;
291 mInputLength = 0;
292 mOutputLength = 0;
293 mCachedFragmentAddress = 0;
294 mpCachedFragment = nullptr;
295 memset( mpCacheHashTable, 0, sizeof(mpCacheHashTable) );
296 mJumpMap.clear();
297
298 mCacheCoverage.Reset();
299
300 mpCodeBufferManager->Reset();
301}
302
303//*************************************************************************************
304//

Callers

nothing calls this directly

Calls 2

sizeMethod · 0.80
ResetMethod · 0.45

Tested by

no test coverage detected