VirtualBox

Changeset 99983 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
May 26, 2023 12:10:23 AM (20 months ago)
Author:
vboxsync
Message:

VMM/IEM: Removed (finally) the need to call CPUMGetGuestCPL and iemCalcCpuMode for every instruction when executing lots of them. bugref:10369

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/IEMInline.h

    r99933 r99983  
    273273    pVCpu->iem.s.uCpl             = uCpl;
    274274    pVCpu->iem.s.enmCpuMode       = enmMode;
     275/** @todo r=bird: The rest of this function should not be necessary!
     276 * All these fields below will be re-initialized before we decode more code - as
     277 * they are _not_ relevant to 'Exec' (xcpt rcPassUp), only to 'Decoding'.
     278 *
     279 * Only exception might be rcPassUp, though, I don't know why anyone other than
     280 * the execution loops should need to mess around with it!
     281 *
     282 * I don't think we really need or want this function, better to just set uCpl
     283 * and enmCpuMode explicitly in the relevant code.  We do this in a number of
     284 * other scenarios.  Or, rename it to iemReCalcCpuModeAndCpl.
     285 */
    275286    pVCpu->iem.s.enmDefAddrMode   = enmMode;  /** @todo check if this is correct... */
    276287    pVCpu->iem.s.enmEffAddrMode   = enmMode;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette