VirtualBox

Changeset 103669 in vbox


Ignore:
Timestamp:
Mar 4, 2024 2:05:20 PM (13 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
162029
Message:

VMM/IEM: Replace some single bit tests with iemNativeEmitTestBitInGprAndJmpToLabelIf{Not}Set() to fix a debug only assertion, bugref:10371

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompiler.cpp

    r103667 r103669  
    70737073     *     return raisexcpt();
    70747074     */
    7075     off = iemNativeEmitTestAnyBitsInGprAndJmpToLabelIfAnySet(pReNative, off, idxCr0Reg, X86_CR0_EM, idxLabelRaiseUd);
     7075    off = iemNativeEmitTestBitInGprAndJmpToLabelIfSet(pReNative, off, idxCr0Reg, X86_CR0_EM_BIT, idxLabelRaiseUd);
    70767076    /*
    70777077     * if (!(cr4 & X86_CR4_OSFXSR))
    70787078     *     return raisexcpt();
    70797079     */
    7080     off = iemNativeEmitTestAnyBitsInGprAndJmpToLabelIfNoneSet(pReNative, off, idxCr4Reg, X86_CR4_OSFXSR, idxLabelRaiseUd);
     7080    off = iemNativeEmitTestBitInGprAndJmpToLabelIfNotSet(pReNative, off, idxCr4Reg, X86_CR4_OSFXSR_BIT, idxLabelRaiseUd);
    70817081    /*
    70827082     * if (cr0 & X86_CR0_TS)
    70837083     *     return raisexcpt();
    70847084     */
    7085     off = iemNativeEmitTestAnyBitsInGprAndJmpToLabelIfAnySet(pReNative, off, idxCr0Reg, X86_CR0_TS, idxLabelRaiseNm);
     7085    off = iemNativeEmitTestBitInGprAndJmpToLabelIfSet(pReNative, off, idxCr0Reg, X86_CR0_TS_BIT, idxLabelRaiseNm);
    70867086
    70877087    /* Free but don't flush the CR0 and CR4 register. */
     
    71487148     *     return raisexcpt();
    71497149     */
    7150     off = iemNativeEmitTestAnyBitsInGprAndJmpToLabelIfNoneSet(pReNative, off, idxCr4Reg, X86_CR4_OSXSAVE, idxLabelRaiseUd);
     7150    off = iemNativeEmitTestBitInGprAndJmpToLabelIfNotSet(pReNative, off, idxCr4Reg, X86_CR4_OSXSAVE_BIT, idxLabelRaiseUd);
    71517151    /*
    71527152     * if (cr0 & X86_CR0_TS)
    71537153     *     return raisexcpt();
    71547154     */
    7155     off = iemNativeEmitTestAnyBitsInGprAndJmpToLabelIfAnySet(pReNative, off, idxCr0Reg, X86_CR0_TS, idxLabelRaiseNm);
     7155    off = iemNativeEmitTestBitInGprAndJmpToLabelIfSet(pReNative, off, idxCr0Reg, X86_CR0_TS_BIT, idxLabelRaiseNm);
    71567156
    71577157    /* Free but don't flush the CR0, CR4 and XCR0 register. */
Note: See TracChangeset for help on using the changeset viewer.

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