VirtualBox

Ignore:
Timestamp:
Mar 18, 2024 11:36:21 AM (11 months ago)
Author:
vboxsync
Message:

VMM/IEM: Enabled wholesale EFLAGS skipping in iemNativeEmitEFlagsForArithmetic as well. bugref:10375

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/target-x86/IEMAllN8veEmit-x86.h

    r103828 r103888  
    208208{
    209209#ifdef IEMNATIVE_WITH_EFLAGS_SKIPPING
    210     /** @todo */
     210    /*
     211     * See if we can skip this wholesale.
     212     */
     213    PCIEMLIVENESSENTRY const pLivenessEntry = &pReNative->paLivenessEntries[pReNative->idxCurCall];
     214    if (IEMLIVENESS_STATE_ARE_STATUS_EFL_TO_BE_CLOBBERED(pLivenessEntry))
     215    {
     216        STAM_COUNTER_INC(&pReNative->pVCpu->iem.s.StatNativeEflSkippedLogical);
     217# ifdef IEMNATIVE_STRICT_EFLAGS_SKIPPING
     218        off = iemNativeEmitOrImmIntoVCpuU32(pReNative, off, X86_EFL_STATUS_BITS, RT_UOFFSETOF(VMCPU, iem.s.fSkippingEFlags));
     219# endif
     220    }
     221    else
    211222#endif
    212223    {
     
    305316    if (IEMLIVENESS_STATE_ARE_STATUS_EFL_TO_BE_CLOBBERED(pLivenessEntry))
    306317    {
    307         STAM_COUNTER_INC(&pReNative->pVCpu->iem.s.StatNativeEflArithmeticSkipped);
     318        STAM_COUNTER_INC(&pReNative->pVCpu->iem.s.StatNativeEflSkippedArithmetic);
    308319# ifdef IEMNATIVE_STRICT_EFLAGS_SKIPPING
    309320        off = iemNativeEmitOrImmIntoVCpuU32(pReNative, off, X86_EFL_STATUS_BITS, RT_UOFFSETOF(VMCPU, iem.s.fSkippingEFlags));
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