/[pcsx2_0.9.7]/trunk/pcsx2/x86/microVU_Compile.inl
ViewVC logotype

Diff of /trunk/pcsx2/x86/microVU_Compile.inl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 62 by william, Tue Sep 7 11:08:22 2010 UTC revision 280 by william, Thu Dec 23 12:02:12 2010 UTC
# Line 109  static void doIbit(mV) { Line 109  static void doIbit(mV) {
109                  mVU->regAlloc->clearRegVF(33);                  mVU->regAlloc->clearRegVF(33);
110    
111                  if (CHECK_VU_OVERFLOW && ((curI & 0x7fffffff) >= 0x7f800000)) {                  if (CHECK_VU_OVERFLOW && ((curI & 0x7fffffff) >= 0x7f800000)) {
112                          Console.WriteLn(Color_Green,"microVU%d: Clamping I Reg", mVU->index);                          DevCon.WriteLn(Color_Green,"microVU%d: Clamping I Reg", mVU->index);
113                          tempI = (0x80000000 & curI) | 0x7f7fffff; // Clamp I Reg                          tempI = (0x80000000 & curI) | 0x7f7fffff; // Clamp I Reg
114                  }                  }
115                  else tempI = curI;                  else tempI = curI;
# Line 372  static void mVUtestCycles(microVU* mVU) Line 372  static void mVUtestCycles(microVU* mVU)
372    
373  // This gets run at the start of every loop of mVU's first pass  // This gets run at the start of every loop of mVU's first pass
374  static __fi void startLoop(mV) {  static __fi void startLoop(mV) {
375          if (curI & _Mbit_)      { Console.WriteLn(Color_Green, "microVU%d: M-bit set!", getIndex); }          if (curI & _Mbit_)      { DevCon.WriteLn (Color_Green, "microVU%d: M-bit set!", getIndex); }
376          if (curI & _Dbit_)      { DevCon.WriteLn (Color_Green, "microVU%d: D-bit set!", getIndex); }          if (curI & _Dbit_)      { DevCon.WriteLn (Color_Green, "microVU%d: D-bit set!", getIndex); }
377          if (curI & _Tbit_)      { DevCon.WriteLn (Color_Green, "microVU%d: T-bit set!", getIndex); }          if (curI & _Tbit_)      { DevCon.WriteLn (Color_Green, "microVU%d: T-bit set!", getIndex); }
378          memzero(mVUinfo);          memzero(mVUinfo);
# Line 513  static __fi void* mVUblockFetch(microVU* Line 513  static __fi void* mVUblockFetch(microVU*
513  }  }
514    
515  // mVUcompileJIT() - Called By JR/JALR during execution  // mVUcompileJIT() - Called By JR/JALR during execution
516  _mVUt void* __fastcall mVUcompileJIT(u32 startPC, uptr pState) {  _mVUt void* __fastcall mVUcompileJIT(u32 startPC, uptr ptr) {
517          //return mVUblockFetch(mVUx, startPC, pState);          if (doJumpCaching) { // When doJumpCaching, ptr is a microBlock pointer
518          return mVUsearchProg<vuIndex>(startPC, pState); // Find and set correct program                  microVU* mVU = mVUx;
519                    microBlock* pBlock = (microBlock*)ptr;
520                    microJumpCache& jc = pBlock->jumpCache[startPC/8];
521                    if (jc.prog && jc.prog == mVU->prog.quick[startPC/8].prog) return jc.x86ptrStart;
522                    void* v = mVUsearchProg<vuIndex>(startPC, (uptr)&pBlock->pStateEnd);
523                    jc.prog = mVU->prog.quick[startPC/8].prog;
524                    jc.x86ptrStart = v;
525                    return v;
526            }
527            else { // When !doJumpCaching, pBlock param is really a microRegInfo pointer
528                    //return mVUblockFetch(mVUx, startPC, ptr);
529                    return mVUsearchProg<vuIndex>(startPC, ptr); // Find and set correct program
530            }
531  }  }

Legend:
Removed from v.62  
changed lines
  Added in v.280

  ViewVC Help
Powered by ViewVC 1.1.22