summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorMarkus Wick <markus@selfnet.de>2015-08-26 16:38:42 +0200
committerMarkus Wick <markus@selfnet.de>2015-08-26 16:38:42 +0200
commit2be69ae747ef30426fef2d919d20ae50483daf4e (patch)
tree99a30aa202358407565791e1bd3d6d6651b40525 /Source/Core
parenta36b1354737f92ae7148527fbd438ff13afbb9a8 (diff)
parent6ec4bdf862af33ea76298b7e9a99a66456d00f28 (diff)
Merge pull request #2912 from Tilka/coretiming
CoreTiming: small cleanup
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/CoreTiming.cpp74
-rw-r--r--Source/Core/Core/CoreTiming.h5
2 files changed, 11 insertions, 68 deletions
diff --git a/Source/Core/Core/CoreTiming.cpp b/Source/Core/Core/CoreTiming.cpp
index e52d49cbe5..a8f8667e37 100644
--- a/Source/Core/Core/CoreTiming.cpp
+++ b/Source/Core/Core/CoreTiming.cpp
@@ -63,9 +63,6 @@ u64 fakeTBStartTicks;
static int ev_lost;
-
-static void (*advanceCallback)(int cyclesExecuted) = nullptr;
-
static Event* GetNewEvent()
{
if (!eventPool)
@@ -303,42 +300,13 @@ void ScheduleEvent(int cyclesIntoFuture, int event_type, u64 userdata)
AddEventToQueue(ne);
}
-void RegisterAdvanceCallback(void (*callback)(int cyclesExecuted))
-{
- advanceCallback = callback;
-}
-
-bool IsScheduled(int event_type)
-{
- if (!first)
- return false;
- Event *e = first;
- while (e)
- {
- if (e->type == event_type)
- return true;
- e = e->next;
- }
- return false;
-}
-
void RemoveEvent(int event_type)
{
- if (!first)
- return;
-
- while (first)
+ while (first && first->type == event_type)
{
- if (first->type == event_type)
- {
- Event *next = first->next;
- FreeEvent(first);
- first = next;
- }
- else
- {
- break;
- }
+ Event* next = first->next;
+ FreeEvent(first);
+ first = next;
}
if (!first)
@@ -368,11 +336,6 @@ void RemoveAllEvents(int event_type)
RemoveEvent(event_type);
}
-void SetMaximumSlice(int maximumSliceLength)
-{
- maxSliceLength = maximumSliceLength;
-}
-
void ForceExceptionCheck(int cycles)
{
if (DowncountToCycles(PowerPC::ppcState.downcount) > cycles)
@@ -382,11 +345,6 @@ void ForceExceptionCheck(int cycles)
}
}
-void ResetSliceLength()
-{
- maxSliceLength = MAX_SLICE_LENGTH;
-}
-
//This raise only the events required while the fifo is processing data
void ProcessFifoWaitEvents()
@@ -434,21 +392,14 @@ void Advance()
lastOCFactor = SConfig::GetInstance().m_OCEnable ? SConfig::GetInstance().m_OCFactor : 1.0f;
PowerPC::ppcState.downcount = CyclesToDowncount(slicelength);
- while (first)
+ while (first && first->time <= globalTimer)
{
- if (first->time <= globalTimer)
- {
- //LOG(POWERPC, "[Scheduler] %s (%lld, %lld) ",
- // event_types[first->type].name ? event_types[first->type].name : "?", (u64)globalTimer, (u64)first->time);
- Event* evt = first;
- first = first->next;
- event_types[evt->type].callback(evt->userdata, (int)(globalTimer - evt->time));
- FreeEvent(evt);
- }
- else
- {
- break;
- }
+ //LOG(POWERPC, "[Scheduler] %s (%lld, %lld) ",
+ // event_types[first->type].name ? event_types[first->type].name : "?", (u64)globalTimer, (u64)first->time);
+ Event* evt = first;
+ first = first->next;
+ event_types[evt->type].callback(evt->userdata, (int)(globalTimer - evt->time));
+ FreeEvent(evt);
}
if (!first)
@@ -463,9 +414,6 @@ void Advance()
slicelength = maxSliceLength;
PowerPC::ppcState.downcount = CyclesToDowncount(slicelength);
}
-
- if (advanceCallback)
- advanceCallback(cyclesExecuted);
}
void LogPendingEvents()
diff --git a/Source/Core/Core/CoreTiming.h b/Source/Core/Core/CoreTiming.h
index 69d92871ae..236df47231 100644
--- a/Source/Core/Core/CoreTiming.h
+++ b/Source/Core/Core/CoreTiming.h
@@ -52,7 +52,6 @@ void ScheduleEvent_Threadsafe_Immediate(int event_type, u64 userdata = 0);
// We only permit one event of each type in the queue at a time.
void RemoveEvent(int event_type);
void RemoveAllEvents(int event_type);
-bool IsScheduled(int event_type);
void Advance();
void MoveEvents();
void ProcessFifoWaitEvents();
@@ -64,10 +63,6 @@ void Idle();
void ClearPendingEvents();
void LogPendingEvents();
-void SetMaximumSlice(int maximumSliceLength);
-void ResetSliceLength();
-
-void RegisterAdvanceCallback(void (*callback)(int cyclesExecuted));
std::string GetScheduledEventsSummary();