void SaveStart::DoState(PointerWrap &p) { auto s = p.Section("SaveStart", 1); if (!s) return; // Gotta do CoreTiming first since we'll restore into it. CoreTiming::DoState(p); // Memory is a bit tricky when jit is enabled, since there's emuhacks in it. if (MIPSComp::jit && p.mode == p.MODE_WRITE) { auto blocks = MIPSComp::jit->GetBlockCache(); auto saved = blocks->SaveAndClearEmuHackOps(); Memory::DoState(p); blocks->RestoreSavedEmuHackOps(saved); } else Memory::DoState(p); MemoryStick_DoState(p); currentMIPS->DoState(p); HLEDoState(p); __KernelDoState(p); // Kernel object destructors might close open files, so do the filesystem last. pspFileSystem.DoState(p); }
void SaveStart::DoState(PointerWrap &p) { // Gotta do CoreTiming first since we'll restore into it. CoreTiming::DoState(p); Memory::DoState(p); MemoryStick_DoState(p); currentMIPS->DoState(p); HLEDoState(p); __KernelDoState(p); // Kernel object destructors might close open files, so do the filesystem last. pspFileSystem.DoState(p); }