DSPLLE: trying to optimize a bit (based on drkrazi's suggestion)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4019 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
nakeee 2009-08-20 07:01:04 +00:00
parent b787f5f8f7
commit 56c4eea4c1

View file

@ -378,21 +378,22 @@ void nop(const UDSPInstruction& opc)
} // end namespace ext
} // end namespace DSPInterpeter
void applyWriteBackLog()
void applyWriteBackLog()
{
for (int i=0;i < WRITEBACKLOGSIZE;i++) {
if (writeBackLogIdx[i] != -1) {
dsp_op_write_reg(writeBackLogIdx[i], g_dsp.r[writeBackLogIdx[i]] | writeBackLog[i]);
// Clear back log
writeBackLogIdx[i] = -1;
}
//always make sure to have an extra entry at the end w/ -1 to avoid
//infinitive loops
for (int i=0;writeBackLogIdx[i]!=-1;i++) {
dsp_op_write_reg(writeBackLogIdx[i], g_dsp.r[writeBackLogIdx[i]] | writeBackLog[i]);
// Clear back log
writeBackLogIdx[i] = -1;
}
}
}
void zeroWriteBackLog()
{
for (int i=0;i < WRITEBACKLOGSIZE;i++)
if (writeBackLogIdx[i] != -1)
dsp_op_write_reg(writeBackLogIdx[i], 0);
//always make sure to have an extra entry at the end w/ -1 to avoid
//infinitive loops
for (int i=0;writeBackLogIdx[i]!=-1;i++)
dsp_op_write_reg(writeBackLogIdx[i], 0);
}