Changeset 105714 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Aug 17, 2024 12:10:53 AM (5 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompiler.cpp
r105673 r105714 212 212 /* Do polling. */ 213 213 uint64_t const cTbExecNative = pVCpu->iem.s.cTbExecNative; 214 if ( RT_LIKELY( cTbExecNative & 511)215 || !TMTimerPollBoolWith32BitMilliTS(pVCpu->CTX_SUFF(pVM), pVCpu, &pVCpu->iem.s.msRecompilerPollNow))214 if ( RT_LIKELY((int32_t)--pVCpu->iem.s.cTbsTillNextTimerPoll > 0) 215 || iemPollTimers(pVCpu->CTX_SUFF(pVM), pVCpu) == VINF_SUCCESS) 216 216 { 217 217 /* 218 218 * Success. Update statistics and switch to the next TB. 219 219 */ 220 pVCpu->iem.s.cTbExecNative = cTbExecNative + 1;221 220 if (a_fWithIrqCheck) 222 221 STAM_REL_COUNTER_INC(&pVCpu->iem.s.StatNativeTbExitDirectLinking1Irq); … … 228 227 pVCpu->iem.s.pCurTbR3 = pNewTb; 229 228 pVCpu->iem.s.ppTbLookupEntryR3 = IEMTB_GET_TB_LOOKUP_TAB_ENTRY(pNewTb, 0); 229 pVCpu->iem.s.cTbExecNative += 1; 230 230 Log10(("iemNativeHlpReturnBreakViaLookupWithPc: match at %04x:%08RX64 (%RGp): pTb=%p[%#x]-> %p\n", 231 231 pVCpu->cpum.GstCtx.cs.Sel, pVCpu->cpum.GstCtx.rip, GCPhysPc, pTb, idxTbLookup, pNewTb)); … … 342 342 { 343 343 /* Do polling. */ 344 uint64_t const cTbExecNative = pVCpu->iem.s.cTbExecNative; 345 if ( RT_LIKELY(cTbExecNative & 511) 346 || !TMTimerPollBoolWith32BitMilliTS(pVCpu->CTX_SUFF(pVM), pVCpu, &pVCpu->iem.s.msRecompilerPollNow) ) 344 if ( RT_LIKELY((int32_t)--pVCpu->iem.s.cTbsTillNextTimerPoll > 0) 345 || iemPollTimers(pVCpu->CTX_SUFF(pVM), pVCpu) == VINF_SUCCESS) 347 346 { 348 347 /* 349 348 * Success. Update statistics and switch to the next TB. 350 349 */ 351 pVCpu->iem.s.cTbExecNative = cTbExecNative + 1;352 350 if (a_fWithIrqCheck) 353 351 STAM_REL_COUNTER_INC(&pVCpu->iem.s.StatNativeTbExitDirectLinking2Irq); … … 359 357 pVCpu->iem.s.pCurTbR3 = pNewTb; 360 358 pVCpu->iem.s.ppTbLookupEntryR3 = IEMTB_GET_TB_LOOKUP_TAB_ENTRY(pNewTb, 0); 359 pVCpu->iem.s.cTbExecNative += 1; 361 360 Log10(("iemNativeHlpReturnBreakViaLookupWithTlb: match at %04x:%08RX64 (%RGp): pTb=%p[%#x]-> %p\n", 362 361 pVCpu->cpum.GstCtx.cs.Sel, pVCpu->cpum.GstCtx.rip, GCPhysPc, pTb, idxTbLookup, pNewTb));
Note:
See TracChangeset
for help on using the changeset viewer.