Changeset 77380 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Feb 20, 2019 1:40:22 PM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 128931
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAll.cpp
r77378 r77380 14337 14337 14338 14338 14339 VMMDECL(VBOXSTRICTRC) IEMExecLots(PVMCPU pVCpu, uint32_t *pcInstructions)14339 VMMDECL(VBOXSTRICTRC) IEMExecLots(PVMCPU pVCpu, uint32_t cMaxInstructions, uint32_t cPollRate, uint32_t *pcInstructions) 14340 14340 { 14341 14341 uint32_t const cInstructionsAtStart = pVCpu->iem.s.cInstructions; 14342 AssertMsg(RT_IS_POWER_OF_TWO(cPollRate + 1), ("%#x\n", cPollRate)); 14342 14343 14343 14344 /* … … 14386 14387 * Initial decoder init w/ prefetch, then setup setjmp. 14387 14388 */ 14388 unsigned cTimerPoll = 0;14389 14389 VBOXSTRICTRC rcStrict = iemInitDecoderAndPrefetchOpcodes(pVCpu, false); 14390 14390 if (rcStrict == VINF_SUCCESS) … … 14401 14401 * The run loop. We limit ourselves to 4096 instructions right now. 14402 14402 */ 14403 PVM pVM = pVCpu->CTX_SUFF(pVM); 14404 uint32_t cInstr = 4096; 14403 PVM pVM = pVCpu->CTX_SUFF(pVM); 14405 14404 for (;;) 14406 14405 { … … 14442 14441 && !VM_FF_IS_ANY_SET(pVM, VM_FF_ALL_MASK) )) 14443 14442 { 14444 if (c Instr-- > 0)14443 if (cMaxInstructions-- > 0) 14445 14444 { 14446 /* Poll timers every 128 call*/14447 if ( ( ++cTimerPoll & 0x7f) != 014445 /* Poll timers every 2048 instructions. */ 14446 if ( (cMaxInstructions & cPollRate) != 0 14448 14447 || !TMTimerPollBool(pVM, pVCpu)) 14449 14448 {
Note:
See TracChangeset
for help on using the changeset viewer.