Changeset 15677 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Dec 19, 2008 9:26:23 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PATM/PATM.cpp
r14755 r15677 5844 5844 if ( RT_FAILURE(rc) 5845 5845 || !(CpuOld.pCurInstr->optype & OPTYPE_HARMLESS)) 5846 { 5847 if (RT_SUCCESS(rc)) 5848 cbDirty += CpuOld.opsize; 5849 else 5850 if (!cbDirty) 5851 cbDirty = 1; 5846 5852 break; 5853 } 5847 5854 5848 5855 #ifdef DEBUG … … 5852 5859 Log(("DIRTY: %s\n", szBuf)); 5853 5860 #endif 5861 /* Mark as clean; if we fail we'll let it always fault. */ 5862 pRec->fDirty = false; 5863 5854 5864 /** Remove old lookup record. */ 5855 5865 patmr3RemoveP2GLookupRecord(pVM, &pPatch->patch, pCurPatchInstrGC); … … 5857 5867 pCurPatchInstrGC += CpuOld.opsize; 5858 5868 cbDirty += CpuOld.opsize; 5859 5860 /* Mark as clean; if we fail we'll let it always fault. */5861 pRec->fDirty = false;5862 5869 5863 5870 /* Let's see if there's another dirty instruction right after. */ … … 5953 5960 { 5954 5961 STAM_COUNTER_INC(&pVM->patm.s.StatInstrDirtyBad); 5962 Assert(cbDirty); 5963 5955 5964 /* Mark the whole instruction stream with breakpoints. */ 5956 memset(pPatchInstrHC, 0xCC, cbDirty); 5965 if (cbDirty) 5966 memset(pPatchInstrHC, 0xCC, cbDirty); 5957 5967 5958 5968 if ( pVM->patm.s.fOutOfMemory == false
Note:
See TracChangeset
for help on using the changeset viewer.