VirtualBox

Changeset 102433 in vbox


Ignore:
Timestamp:
Dec 2, 2023 3:29:41 AM (14 months ago)
Author:
vboxsync
Message:

VMM/IEM: Drop the pointer from the UNMAP MCs as it is no longer used. This solves the issue with ARG variables being dead after calls. bugref:10371

Location:
trunk/src/VBox/VMM
Files:
4 edited

Legend:

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

    r102427 r102433  
    108108            IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU8, pu8Dst, u8Src, pEFlags); \
    109109            \
    110             IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu8Dst, bUnmapInfo); \
     110            IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    111111            IEM_MC_COMMIT_EFLAGS(EFlags); \
    112112            IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    168168            IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU8, pu8Dst, u8Src, pEFlags); \
    169169            \
    170             IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu8Dst, bUnmapInfo); \
     170            IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    171171            IEM_MC_COMMIT_EFLAGS(EFlags); \
    172172            IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    199199            IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU8, pu8Dst, u8Src, pEFlags); \
    200200            \
    201             IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu8Dst, bMapInfoDst); \
     201            IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bMapInfoDst); \
    202202            IEM_MC_COMMIT_EFLAGS(EFlags); \
    203203            IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    349349                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
    350350                    \
    351                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); \
     351                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    352352                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    353353                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    370370                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
    371371                    \
    372                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); \
     372                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    373373                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    374374                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    391391                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
    392392                    \
    393                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); \
     393                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    394394                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    395395                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    422422                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU16, pu16Dst, u16Src, pEFlags); \
    423423                    \
    424                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); \
     424                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    425425                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    426426                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    443443                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU32, pu32Dst, u32Src, pEFlags); \
    444444                    \
    445                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo /* CMP,TEST */); \
     445                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo /* CMP,TEST */); \
    446446                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    447447                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    464464                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU64, pu64Dst, u64Src, pEFlags); \
    465465                    \
    466                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); \
     466                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    467467                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    468468                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    567567                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
    568568                    \
    569                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu16Dst, bUnmapInfo); \
     569                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    570570                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    571571                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    588588                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
    589589                    \
    590                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu32Dst, bUnmapInfo); \
     590                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    591591                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    592592                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    609609                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
    610610                    \
    611                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu64Dst, bUnmapInfo); \
     611                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    612612                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    613613                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    27552755        IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_arpl, pu16Dst, u16Src, pEFlags);
    27562756
    2757         IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo);
     2757        IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    27582758        IEM_MC_COMMIT_EFLAGS(EFlags);
    27592759        IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    39913991            IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU8, pu8Dst, u8Src, pEFlags); \
    39923992            \
    3993             IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu8Dst, bUnmapInfo); \
     3993            IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    39943994            IEM_MC_COMMIT_EFLAGS(EFlags); \
    39953995            IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    40164016            IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU8, pu8Dst, u8Src, pEFlags); \
    40174017            \
    4018             IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu8Dst, bUnmapInfo); \
     4018            IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    40194019            IEM_MC_COMMIT_EFLAGS(EFlags); \
    40204020            IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    40624062            IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU8, pu8Dst, u8Src, pEFlags); \
    40634063            \
    4064             IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu8Dst, bUnmapInfo); \
     4064            IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    40654065            IEM_MC_COMMIT_EFLAGS(EFlags); \
    40664066            IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    42894289                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
    42904290                    \
    4291                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); \
     4291                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    42924292                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    42934293                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    43144314                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
    43154315                    \
    4316                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); \
     4316                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    43174317                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    43184318                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    43404340                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
    43414341                    \
    4342                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); \
     4342                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    43434343                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    43444344                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    43754375                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU16, pu16Dst, u16Src, pEFlags); \
    43764376                    \
    4377                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); \
     4377                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    43784378                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    43794379                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    44004400                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU32, pu32Dst, u32Src, pEFlags); \
    44014401                    \
    4402                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); \
     4402                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    44034403                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    44044404                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    44254425                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU64, pu64Dst, u64Src, pEFlags); \
    44264426                    \
    4427                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); \
     4427                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    44284428                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    44294429                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    45274527                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
    45284528                    \
    4529                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu16Dst, bUnmapInfo); \
     4529                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    45304530                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    45314531                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    45524552                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
    45534553                    \
    4554                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu32Dst, bUnmapInfo); \
     4554                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    45554555                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    45564556                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    45774577                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
    45784578                    \
    4579                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu64Dst, bUnmapInfo); \
     4579                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    45804580                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    45814581                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    48124812                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
    48134813                    \
    4814                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); \
     4814                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    48154815                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    48164816                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    48354835                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
    48364836                    \
    4837                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); \
     4837                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    48384838                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    48394839                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    48584858                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
    48594859                    \
    4860                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); \
     4860                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    48614861                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    48624862                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    48914891                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU16, pu16Dst, u16Src, pEFlags); \
    48924892                    \
    4893                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); \
     4893                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    48944894                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    48954895                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    49144914                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU32, pu32Dst, u32Src, pEFlags); \
    49154915                    \
    4916                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); \
     4916                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    49174917                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    49184918                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    49374937                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU64, pu64Dst, u64Src, pEFlags); \
    49384938                    \
    4939                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); \
     4939                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    49404940                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    49414941                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    50335033                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
    50345034                    \
    5035                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu16Dst, bUnmapInfo); \
     5035                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    50365036                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    50375037                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    50565056                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
    50575057                    \
    5058                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu32Dst, bUnmapInfo); \
     5058                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    50595059                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    50605060                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    50795079                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
    50805080                    \
    5081                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu64Dst, bUnmapInfo); \
     5081                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    50825082                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    50835083                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    52845284        else
    52855285            IEM_MC_CALL_VOID_AIMPL_2(iemAImpl_xchg_u8_unlocked, pu8Mem, pu8Reg);
    5286         IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu8Mem, bUnmapInfo);
     5286        IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    52875287        IEM_MC_STORE_GREG_U8(IEM_GET_MODRM_REG(pVCpu, bRm), uTmpReg);
    52885288
     
    53795379                else
    53805380                    IEM_MC_CALL_VOID_AIMPL_2(iemAImpl_xchg_u16_unlocked, pu16Mem, pu16Reg);
    5381                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Mem, bUnmapInfo);
     5381                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    53825382                IEM_MC_STORE_GREG_U16(IEM_GET_MODRM_REG(pVCpu, bRm), uTmpReg);
    53835383
     
    54025402                else
    54035403                    IEM_MC_CALL_VOID_AIMPL_2(iemAImpl_xchg_u32_unlocked, pu32Mem, pu32Reg);
    5404                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Mem, bUnmapInfo);
     5404                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    54055405                IEM_MC_STORE_GREG_U32(IEM_GET_MODRM_REG(pVCpu, bRm), uTmpReg);
    54065406
     
    54255425                else
    54265426                    IEM_MC_CALL_VOID_AIMPL_2(iemAImpl_xchg_u64_unlocked, pu64Mem, pu64Reg);
    5427                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Mem, bUnmapInfo);
     5427                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    54285428                IEM_MC_STORE_GREG_U64(IEM_GET_MODRM_REG(pVCpu, bRm), uTmpReg);
    54295429
     
    81728172        IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU8, pu8Dst, cShiftArg, pEFlags);
    81738173
    8174         IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu8Dst, bUnmapInfo);
     8174        IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    81758175        IEM_MC_COMMIT_EFLAGS(EFlags);
    81768176        IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    82738273                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU16, pu16Dst, cShiftArg, pEFlags);
    82748274
    8275                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo);
     8275                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    82768276                IEM_MC_COMMIT_EFLAGS(EFlags);
    82778277                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    82968296                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, cShiftArg, pEFlags);
    82978297
    8298                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo);
     8298                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    82998299                IEM_MC_COMMIT_EFLAGS(EFlags);
    83008300                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    83198319                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU64, pu64Dst, cShiftArg, pEFlags);
    83208320
    8321                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo);
     8321                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    83228322                IEM_MC_COMMIT_EFLAGS(EFlags);
    83238323                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    88228822        IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU8, pu8Dst, cShiftArg, pEFlags);
    88238823
    8824         IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu8Dst, bUnmapInfo);
     8824        IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    88258825        IEM_MC_COMMIT_EFLAGS(EFlags);
    88268826        IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    89198919                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU16, pu16Dst, cShiftArg, pEFlags);
    89208920
    8921                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo);
     8921                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    89228922                IEM_MC_COMMIT_EFLAGS(EFlags);
    89238923                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    89398939                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, cShiftArg, pEFlags);
    89408940
    8941                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo);
     8941                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    89428942                IEM_MC_COMMIT_EFLAGS(EFlags);
    89438943                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    89598959                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU64, pu64Dst, cShiftArg, pEFlags);
    89608960
    8961                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo);
     8961                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    89628962                IEM_MC_COMMIT_EFLAGS(EFlags);
    89638963                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    90249024        IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU8, pu8Dst, cShiftArg, pEFlags);
    90259025
    9026         IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu8Dst, bUnmapInfo);
     9026        IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    90279027        IEM_MC_COMMIT_EFLAGS(EFlags);
    90289028        IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    91249124                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU16, pu16Dst, cShiftArg, pEFlags);
    91259125
    9126                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo);
     9126                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    91279127                IEM_MC_COMMIT_EFLAGS(EFlags);
    91289128                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    91459145                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, cShiftArg, pEFlags);
    91469146
    9147                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo);
     9147                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    91489148                IEM_MC_COMMIT_EFLAGS(EFlags);
    91499149                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    91669166                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU64, pu64Dst, cShiftArg, pEFlags);
    91679167
    9168                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo);
     9168                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    91699169                IEM_MC_COMMIT_EFLAGS(EFlags);
    91709170                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    96809680        IEM_MC_ARG_LOCAL_REF(uint16_t *,pu16Fsw,    u16Fsw, 0);
    96819681        IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fst_r80_to_r32, pu16Fsw, pr32Dst, pr80Value);
    9682         IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(pr32Dst, bUnmapInfo, u16Fsw);
     9682        IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(bUnmapInfo, u16Fsw);
    96839683        IEM_MC_UPDATE_FSW_WITH_MEM_OP(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
    96849684    } IEM_MC_ELSE() {
    96859685        IEM_MC_IF_FCW_IM() {
    96869686            IEM_MC_STORE_MEM_NEG_QNAN_R32_BY_REF(pr32Dst);
    9687             IEM_MC_MEM_COMMIT_AND_UNMAP_WO(pr32Dst, bUnmapInfo);
     9687            IEM_MC_MEM_COMMIT_AND_UNMAP_WO(bUnmapInfo);
    96889688        } IEM_MC_ELSE() {
    9689             IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(pr32Dst, bUnmapInfo);
     9689            IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(bUnmapInfo);
    96909690        } IEM_MC_ENDIF();
    96919691        IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP(UINT8_MAX, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
     
    97199719        IEM_MC_ARG_LOCAL_REF(uint16_t *,pu16Fsw,    u16Fsw, 0);
    97209720        IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fst_r80_to_r32, pu16Fsw, pr32Dst, pr80Value);
    9721         IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(pr32Dst, bUnmapInfo, u16Fsw);
     9721        IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(bUnmapInfo, u16Fsw);
    97229722        IEM_MC_UPDATE_FSW_WITH_MEM_OP_THEN_POP(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
    97239723    } IEM_MC_ELSE() {
    97249724        IEM_MC_IF_FCW_IM() {
    97259725            IEM_MC_STORE_MEM_NEG_QNAN_R32_BY_REF(pr32Dst);
    9726             IEM_MC_MEM_COMMIT_AND_UNMAP_WO(pr32Dst, bUnmapInfo);
     9726            IEM_MC_MEM_COMMIT_AND_UNMAP_WO(bUnmapInfo);
    97279727        } IEM_MC_ELSE() {
    9728             IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(pr32Dst, bUnmapInfo);
     9728            IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(bUnmapInfo);
    97299729        } IEM_MC_ENDIF();
    97309730        IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP_THEN_POP(UINT8_MAX, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
     
    1080510805        IEM_MC_ARG_LOCAL_REF(uint16_t *,pu16Fsw,    u16Fsw, 0);
    1080610806        IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fistt_r80_to_i32, pu16Fsw, pi32Dst, pr80Value);
    10807         IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(pi32Dst, bUnmapInfo, u16Fsw);
     10807        IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(bUnmapInfo, u16Fsw);
    1080810808        IEM_MC_UPDATE_FSW_WITH_MEM_OP_THEN_POP(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
    1080910809    } IEM_MC_ELSE() {
    1081010810        IEM_MC_IF_FCW_IM() {
    1081110811            IEM_MC_STORE_MEM_I32_CONST_BY_REF(pi32Dst, INT32_MIN /* (integer indefinite) */);
    10812             IEM_MC_MEM_COMMIT_AND_UNMAP_WO(pi32Dst, bUnmapInfo);
     10812            IEM_MC_MEM_COMMIT_AND_UNMAP_WO(bUnmapInfo);
    1081310813        } IEM_MC_ELSE() {
    10814             IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(pi32Dst, bUnmapInfo);
     10814            IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(bUnmapInfo);
    1081510815        } IEM_MC_ENDIF();
    1081610816        IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP_THEN_POP(UINT8_MAX, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
     
    1084410844        IEM_MC_ARG_LOCAL_REF(uint16_t *,pu16Fsw,    u16Fsw, 0);
    1084510845        IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fist_r80_to_i32, pu16Fsw, pi32Dst, pr80Value);
    10846         IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(pi32Dst, bUnmapInfo, u16Fsw);
     10846        IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(bUnmapInfo, u16Fsw);
    1084710847        IEM_MC_UPDATE_FSW_WITH_MEM_OP(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
    1084810848    } IEM_MC_ELSE() {
    1084910849        IEM_MC_IF_FCW_IM() {
    1085010850            IEM_MC_STORE_MEM_I32_CONST_BY_REF(pi32Dst, INT32_MIN /* (integer indefinite) */);
    10851             IEM_MC_MEM_COMMIT_AND_UNMAP_WO(pi32Dst, bUnmapInfo);
     10851            IEM_MC_MEM_COMMIT_AND_UNMAP_WO(bUnmapInfo);
    1085210852        } IEM_MC_ELSE() {
    10853             IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(pi32Dst, bUnmapInfo);
     10853            IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(bUnmapInfo);
    1085410854        } IEM_MC_ENDIF();
    1085510855        IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP(UINT8_MAX, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
     
    1088310883        IEM_MC_ARG_LOCAL_REF(uint16_t *,pu16Fsw,    u16Fsw, 0);
    1088410884        IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fist_r80_to_i32, pu16Fsw, pi32Dst, pr80Value);
    10885         IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(pi32Dst, bUnmapInfo, u16Fsw);
     10885        IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(bUnmapInfo, u16Fsw);
    1088610886        IEM_MC_UPDATE_FSW_WITH_MEM_OP_THEN_POP(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
    1088710887    } IEM_MC_ELSE() {
    1088810888        IEM_MC_IF_FCW_IM() {
    1088910889            IEM_MC_STORE_MEM_I32_CONST_BY_REF(pi32Dst, INT32_MIN /* (integer indefinite) */);
    10890             IEM_MC_MEM_COMMIT_AND_UNMAP_WO(pi32Dst, bUnmapInfo);
     10890            IEM_MC_MEM_COMMIT_AND_UNMAP_WO(bUnmapInfo);
    1089110891        } IEM_MC_ELSE() {
    10892             IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(pi32Dst, bUnmapInfo);
     10892            IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(bUnmapInfo);
    1089310893        } IEM_MC_ENDIF();
    1089410894        IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP_THEN_POP(UINT8_MAX, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
     
    1095410954        IEM_MC_ARG_LOCAL_REF(uint16_t *,pu16Fsw,    u16Fsw, 0);
    1095510955        IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fst_r80_to_r80, pu16Fsw, pr80Dst, pr80Value);
    10956         IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(pr80Dst, bUnmapInfo, u16Fsw);
     10956        IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(bUnmapInfo, u16Fsw);
    1095710957        IEM_MC_UPDATE_FSW_WITH_MEM_OP_THEN_POP(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
    1095810958    } IEM_MC_ELSE() {
    1095910959        IEM_MC_IF_FCW_IM() {
    1096010960            IEM_MC_STORE_MEM_NEG_QNAN_R80_BY_REF(pr80Dst);
    10961             IEM_MC_MEM_COMMIT_AND_UNMAP_WO(pr80Dst, bUnmapInfo);
     10961            IEM_MC_MEM_COMMIT_AND_UNMAP_WO(bUnmapInfo);
    1096210962        } IEM_MC_ELSE() {
    10963             IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(pr80Dst, bUnmapInfo);
     10963            IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(bUnmapInfo);
    1096410964        } IEM_MC_ENDIF();
    1096510965        IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP_THEN_POP(UINT8_MAX, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
     
    1154811548        IEM_MC_ARG_LOCAL_REF(uint16_t *,pu16Fsw,    u16Fsw, 0);
    1154911549        IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fistt_r80_to_i64, pu16Fsw, pi64Dst, pr80Value);
    11550         IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(pi64Dst, bUnmapInfo, u16Fsw);
     11550        IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(bUnmapInfo, u16Fsw);
    1155111551        IEM_MC_UPDATE_FSW_WITH_MEM_OP_THEN_POP(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
    1155211552    } IEM_MC_ELSE() {
    1155311553        IEM_MC_IF_FCW_IM() {
    1155411554            IEM_MC_STORE_MEM_I64_CONST_BY_REF(pi64Dst, INT64_MIN /* (integer indefinite) */);
    11555             IEM_MC_MEM_COMMIT_AND_UNMAP_WO(pi64Dst, bUnmapInfo);
     11555            IEM_MC_MEM_COMMIT_AND_UNMAP_WO(bUnmapInfo);
    1155611556        } IEM_MC_ELSE() {
    11557             IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(pi64Dst, bUnmapInfo);
     11557            IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(bUnmapInfo);
    1155811558        } IEM_MC_ENDIF();
    1155911559        IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP_THEN_POP(UINT8_MAX, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
     
    1158711587        IEM_MC_ARG_LOCAL_REF(uint16_t *,pu16Fsw,    u16Fsw, 0);
    1158811588        IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fst_r80_to_r64, pu16Fsw, pr64Dst, pr80Value);
    11589         IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(pr64Dst, bUnmapInfo, u16Fsw);
     11589        IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(bUnmapInfo, u16Fsw);
    1159011590        IEM_MC_UPDATE_FSW_WITH_MEM_OP(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
    1159111591    } IEM_MC_ELSE() {
    1159211592        IEM_MC_IF_FCW_IM() {
    1159311593            IEM_MC_STORE_MEM_NEG_QNAN_R64_BY_REF(pr64Dst);
    11594             IEM_MC_MEM_COMMIT_AND_UNMAP_WO(pr64Dst, bUnmapInfo);
     11594            IEM_MC_MEM_COMMIT_AND_UNMAP_WO(bUnmapInfo);
    1159511595        } IEM_MC_ELSE() {
    11596             IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(pr64Dst, bUnmapInfo);
     11596            IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(bUnmapInfo);
    1159711597        } IEM_MC_ENDIF();
    1159811598        IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP(UINT8_MAX, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
     
    1162811628        IEM_MC_ARG_LOCAL_REF(uint16_t *,pu16Fsw,    u16Fsw, 0);
    1162911629        IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fst_r80_to_r64, pu16Fsw, pr64Dst, pr80Value);
    11630         IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(pr64Dst, bUnmapInfo, u16Fsw);
     11630        IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(bUnmapInfo, u16Fsw);
    1163111631        IEM_MC_UPDATE_FSW_WITH_MEM_OP_THEN_POP(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
    1163211632    } IEM_MC_ELSE() {
    1163311633        IEM_MC_IF_FCW_IM() {
    1163411634            IEM_MC_STORE_MEM_NEG_QNAN_R64_BY_REF(pr64Dst);
    11635             IEM_MC_MEM_COMMIT_AND_UNMAP_WO(pr64Dst, bUnmapInfo);
     11635            IEM_MC_MEM_COMMIT_AND_UNMAP_WO(bUnmapInfo);
    1163611636        } IEM_MC_ELSE() {
    11637             IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(pr64Dst, bUnmapInfo);
     11637            IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(bUnmapInfo);
    1163811638        } IEM_MC_ENDIF();
    1163911639        IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP_THEN_POP(UINT8_MAX, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
     
    1216812168        IEM_MC_ARG_LOCAL_REF(uint16_t *,pu16Fsw,    u16Fsw, 0);
    1216912169        IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fistt_r80_to_i16, pu16Fsw, pi16Dst, pr80Value);
    12170         IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(pi16Dst, bUnmapInfo, u16Fsw);
     12170        IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(bUnmapInfo, u16Fsw);
    1217112171        IEM_MC_UPDATE_FSW_WITH_MEM_OP_THEN_POP(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
    1217212172    } IEM_MC_ELSE() {
    1217312173        IEM_MC_IF_FCW_IM() {
    1217412174            IEM_MC_STORE_MEM_I16_CONST_BY_REF(pi16Dst, INT16_MIN /* (integer indefinite) */);
    12175             IEM_MC_MEM_COMMIT_AND_UNMAP_WO(pi16Dst, bUnmapInfo);
     12175            IEM_MC_MEM_COMMIT_AND_UNMAP_WO(bUnmapInfo);
    1217612176        } IEM_MC_ELSE() {
    12177             IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(pi16Dst, bUnmapInfo);
     12177            IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(bUnmapInfo);
    1217812178        } IEM_MC_ENDIF();
    1217912179        IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP_THEN_POP(UINT8_MAX, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
     
    1220712207        IEM_MC_ARG_LOCAL_REF(uint16_t *,pu16Fsw,    u16Fsw, 0);
    1220812208        IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fist_r80_to_i16, pu16Fsw, pi16Dst, pr80Value);
    12209         IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(pi16Dst, bUnmapInfo, u16Fsw);
     12209        IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(bUnmapInfo, u16Fsw);
    1221012210        IEM_MC_UPDATE_FSW_WITH_MEM_OP(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
    1221112211    } IEM_MC_ELSE() {
    1221212212        IEM_MC_IF_FCW_IM() {
    1221312213            IEM_MC_STORE_MEM_I16_CONST_BY_REF(pi16Dst, INT16_MIN /* (integer indefinite) */);
    12214             IEM_MC_MEM_COMMIT_AND_UNMAP_WO(pi16Dst, bUnmapInfo);
     12214            IEM_MC_MEM_COMMIT_AND_UNMAP_WO(bUnmapInfo);
    1221512215        } IEM_MC_ELSE() {
    12216             IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(pi16Dst, bUnmapInfo);
     12216            IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(bUnmapInfo);
    1221712217        } IEM_MC_ENDIF();
    1221812218        IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP(UINT8_MAX, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
     
    1224612246        IEM_MC_ARG_LOCAL_REF(uint16_t *,pu16Fsw,    u16Fsw, 0);
    1224712247        IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fist_r80_to_i16, pu16Fsw, pi16Dst, pr80Value);
    12248         IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(pi16Dst, bUnmapInfo, u16Fsw);
     12248        IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(bUnmapInfo, u16Fsw);
    1224912249        IEM_MC_UPDATE_FSW_WITH_MEM_OP_THEN_POP(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
    1225012250    } IEM_MC_ELSE() {
    1225112251        IEM_MC_IF_FCW_IM() {
    1225212252            IEM_MC_STORE_MEM_I16_CONST_BY_REF(pi16Dst, INT16_MIN /* (integer indefinite) */);
    12253             IEM_MC_MEM_COMMIT_AND_UNMAP_WO(pi16Dst, bUnmapInfo);
     12253            IEM_MC_MEM_COMMIT_AND_UNMAP_WO(bUnmapInfo);
    1225412254        } IEM_MC_ELSE() {
    12255             IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(pi16Dst, bUnmapInfo);
     12255            IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(bUnmapInfo);
    1225612256        } IEM_MC_ENDIF();
    1225712257        IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP_THEN_POP(UINT8_MAX, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
     
    1234912349        IEM_MC_ARG_LOCAL_REF(uint16_t *,pu16Fsw,    u16Fsw, 0);
    1235012350        IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fst_r80_to_d80, pu16Fsw, pd80Dst, pr80Value);
    12351         IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(pd80Dst, bUnmapInfo, u16Fsw);
     12351        IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(bUnmapInfo, u16Fsw);
    1235212352        IEM_MC_UPDATE_FSW_WITH_MEM_OP_THEN_POP(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
    1235312353    } IEM_MC_ELSE() {
    1235412354        IEM_MC_IF_FCW_IM() {
    1235512355            IEM_MC_STORE_MEM_INDEF_D80_BY_REF(pd80Dst);
    12356             IEM_MC_MEM_COMMIT_AND_UNMAP_WO(pd80Dst, bUnmapInfo);
     12356            IEM_MC_MEM_COMMIT_AND_UNMAP_WO(bUnmapInfo);
    1235712357        } IEM_MC_ELSE() {
    12358             IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(pd80Dst, bUnmapInfo);
     12358            IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(bUnmapInfo);
    1235912359        } IEM_MC_ENDIF();
    1236012360        IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP_THEN_POP(UINT8_MAX, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
     
    1238812388        IEM_MC_ARG_LOCAL_REF(uint16_t *,pu16Fsw,    u16Fsw, 0);
    1238912389        IEM_MC_CALL_FPU_AIMPL_3(iemAImpl_fist_r80_to_i64, pu16Fsw, pi64Dst, pr80Value);
    12390         IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(pi64Dst, bUnmapInfo, u16Fsw);
     12390        IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(bUnmapInfo, u16Fsw);
    1239112391        IEM_MC_UPDATE_FSW_WITH_MEM_OP_THEN_POP(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
    1239212392    } IEM_MC_ELSE() {
    1239312393        IEM_MC_IF_FCW_IM() {
    1239412394            IEM_MC_STORE_MEM_I64_CONST_BY_REF(pi64Dst, INT64_MIN /* (integer indefinite) */);
    12395             IEM_MC_MEM_COMMIT_AND_UNMAP_WO(pi64Dst, bUnmapInfo);
     12395            IEM_MC_MEM_COMMIT_AND_UNMAP_WO(bUnmapInfo);
    1239612396        } IEM_MC_ELSE() {
    12397             IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(pi64Dst, bUnmapInfo);
     12397            IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(bUnmapInfo);
    1239812398        } IEM_MC_ENDIF();
    1239912399        IEM_MC_FPU_STACK_UNDERFLOW_MEM_OP_THEN_POP(UINT8_MAX, pVCpu->iem.s.iEffSeg, GCPtrEffDst, pVCpu->iem.s.uFpuOpcode);
     
    1301513015            IEM_MC_CALL_VOID_AIMPL_2(a_fnNormalU8, pu8Dst, pEFlags); \
    1301613016            \
    13017             IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu8Dst, bUnmapInfo); \
     13017            IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1301813018            IEM_MC_COMMIT_EFLAGS(EFlags); \
    1301913019            IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1303413034            IEM_MC_CALL_VOID_AIMPL_2(a_fnLockedU8, pu8Dst, pEFlags); \
    1303513035            \
    13036             IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu8Dst, bUnmapInfo); \
     13036            IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1303713037            IEM_MC_COMMIT_EFLAGS(EFlags); \
    1303813038            IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1311613116                    IEM_MC_CALL_VOID_AIMPL_2(a_fnNormalU16, pu16Dst, pEFlags); \
    1311713117                    \
    13118                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); \
     13118                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1311913119                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1312013120                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1313513135                    IEM_MC_CALL_VOID_AIMPL_2(a_fnNormalU32, pu32Dst, pEFlags); \
    1313613136                    \
    13137                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); \
     13137                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1313813138                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1313913139                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1315413154                    IEM_MC_CALL_VOID_AIMPL_2(a_fnNormalU64, pu64Dst, pEFlags); \
    1315513155                    \
    13156                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); \
     13156                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1315713157                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1315813158                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1318313183                    IEM_MC_CALL_VOID_AIMPL_2(a_fnLockedU16, pu16Dst, pEFlags); \
    1318413184                    \
    13185                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); \
     13185                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1318613186                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1318713187                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1320213202                    IEM_MC_CALL_VOID_AIMPL_2(a_fnLockedU32, pu32Dst, pEFlags); \
    1320313203                    \
    13204                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); \
     13204                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1320513205                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1320613206                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1322113221                    IEM_MC_CALL_VOID_AIMPL_2(a_fnLockedU64, pu64Dst, pEFlags); \
    1322213222                    \
    13223                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); \
     13223                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1322413224                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1322513225                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1327813278        IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u8, pu8Dst, u8Src, pEFlags);
    1327913279
    13280         IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu8Dst, bUnmapInfo);
     13280        IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo);
    1328113281        IEM_MC_COMMIT_EFLAGS(EFlags);
    1328213282        IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    1364413644                IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u16, pu16Dst, u16Src, pEFlags);
    1364513645
    13646                 IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu16Dst, bUnmapInfo);
     13646                IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo);
    1364713647                IEM_MC_COMMIT_EFLAGS(EFlags);
    1364813648                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    1366713667                IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u32, pu32Dst, u32Src, pEFlags);
    1366813668
    13669                 IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu32Dst, bUnmapInfo);
     13669                IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo);
    1367013670                IEM_MC_COMMIT_EFLAGS(EFlags);
    1367113671                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    1369013690                IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u64, pu64Dst, u64Src, pEFlags);
    1369113691
    13692                 IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu64Dst, bUnmapInfo);
     13692                IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo);
    1369313693                IEM_MC_COMMIT_EFLAGS(EFlags);
    1369413694                IEM_MC_ADVANCE_RIP_AND_FINISH();
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstTwoByte0f.cpp.h

    r102430 r102433  
    90529052                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
    90539053                    \
    9054                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); \
     9054                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    90559055                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    90569056                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    90809080                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
    90819081                    \
    9082                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); \
     9082                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    90839083                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    90849084                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    91089108                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
    91099109                    \
    9110                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); \
     9110                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    91119111                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    91129112                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    91469146                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU16, pu16Dst, u16Src, pEFlags); \
    91479147                    \
    9148                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); \
     9148                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    91499149                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    91509150                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    91749174                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU32, pu32Dst, u32Src, pEFlags); \
    91759175                    \
    9176                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); \
     9176                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    91779177                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    91789178                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    92029202                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU64, pu64Dst, u64Src, pEFlags); \
    92039203                    \
    9204                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); \
     9204                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    92059205                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    92069206                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    93089308                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
    93099309                    \
    9310                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu16Dst, bUnmapInfo); \
     9310                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    93119311                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    93129312                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    93369336                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
    93379337                    \
    9338                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu32Dst, bUnmapInfo); \
     9338                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    93399339                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    93409340                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    93649364                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
    93659365                    \
    9366                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu64Dst, bUnmapInfo); \
     9366                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    93679367                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    93689368                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    94839483                IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU16, pu16Dst, u16Src, cShiftArg, pEFlags);
    94849484
    9485                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo);
     9485                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    94869486                IEM_MC_COMMIT_EFLAGS(EFlags);
    94879487                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    95089508                IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU32, pu32Dst, u32Src, cShiftArg, pEFlags);
    95099509
    9510                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo);
     9510                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    95119511                IEM_MC_COMMIT_EFLAGS(EFlags);
    95129512                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    95349534                IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU64, pu64Dst, u64Src, cShiftArg, pEFlags);
    95359535
    9536                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo);
     9536                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    95379537                IEM_MC_COMMIT_EFLAGS(EFlags);
    95389538                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    96379637                IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU16, pu16Dst, u16Src, cShiftArg, pEFlags);
    96389638
    9639                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo);
     9639                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    96409640                IEM_MC_COMMIT_EFLAGS(EFlags);
    96419641                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    96609660                IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU32, pu32Dst, u32Src, cShiftArg, pEFlags);
    96619661
    9662                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo);
     9662                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    96639663                IEM_MC_COMMIT_EFLAGS(EFlags);
    96649664                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    96839683                IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU64, pu64Dst, u64Src, cShiftArg, pEFlags);
    96849684
    9685                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo);
     9685                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    96869686                IEM_MC_COMMIT_EFLAGS(EFlags);
    96879687                IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    1028110281            IEM_MC_CALL_VOID_AIMPL_4(iemAImpl_cmpxchg_u8_locked, pu8Dst, pu8Al, u8Src, pEFlags);
    1028210282
    10283         IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu8Dst, bUnmapInfo);
     10283        IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    1028410284        IEM_MC_COMMIT_EFLAGS(EFlags);
    1028510285        IEM_MC_STORE_GREG_U8(X86_GREG_xAX, u8Al);
     
    1041610416                    IEM_MC_CALL_VOID_AIMPL_4(iemAImpl_cmpxchg_u16_locked, pu16Dst, pu16Ax, u16Src, pEFlags);
    1041710417
    10418                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo);
     10418                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    1041910419                IEM_MC_COMMIT_EFLAGS(EFlags);
    1042010420                IEM_MC_STORE_GREG_U16(X86_GREG_xAX, u16Ax);
     
    1044710447                    IEM_MC_CALL_VOID_AIMPL_4(iemAImpl_cmpxchg_u32_locked, pu32Dst, pu32Eax, u32Src, pEFlags);
    1044810448
    10449                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo);
     10449                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    1045010450                IEM_MC_COMMIT_EFLAGS(EFlags);
    1045110451
     
    1049410494#endif
    1049510495
    10496                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo);
     10496                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    1049710497                IEM_MC_COMMIT_EFLAGS(EFlags);
    1049810498                IEM_MC_STORE_GREG_U64(X86_GREG_xAX, u64Rax);
     
    1085110851                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
    1085210852                    \
    10853                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); \
     10853                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1085410854                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1085510855                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1087410874                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
    1087510875                    \
    10876                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); \
     10876                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1087710877                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1087810878                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1089710897                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
    1089810898                    \
    10899                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); \
     10899                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1090010900                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1090110901                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1093010930                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU16, pu16Dst, u16Src, pEFlags); \
    1093110931                    \
    10932                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); \
     10932                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1093310933                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1093410934                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1095310953                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU32, pu32Dst, u32Src, pEFlags); \
    1095410954                    \
    10955                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); \
     10955                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1095610956                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1095710957                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1097610976                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU64, pu64Dst, u64Src, pEFlags); \
    1097710977                    \
    10978                     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); \
     10978                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1097910979                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1098010980                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1107211072                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
    1107311073                    \
    11074                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu16Dst, bUnmapInfo); \
     11074                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    1107511075                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1107611076                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1109511095                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
    1109611096                    \
    11097                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu32Dst, bUnmapInfo); \
     11097                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    1109811098                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1109911099                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1111811118                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
    1111911119                    \
    11120                     IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu64Dst, bUnmapInfo); \
     11120                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(bUnmapInfo); \
    1112111121                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1112211122                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1163811638            IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_xadd_u8_locked, pu8Dst, pu8Reg, pEFlags);
    1163911639
    11640         IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu8Dst, bUnmapInfo);
     11640        IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    1164111641        IEM_MC_COMMIT_EFLAGS(EFlags);
    1164211642        IEM_MC_STORE_GREG_U8(IEM_GET_MODRM_REG(pVCpu, bRm), u8RegCopy);
     
    1174211742                    IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_xadd_u16_locked, pu16Dst, pu16Reg, pEFlags);
    1174311743
    11744                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo);
     11744                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    1174511745                IEM_MC_COMMIT_EFLAGS(EFlags);
    1174611746                IEM_MC_STORE_GREG_U16(IEM_GET_MODRM_REG(pVCpu, bRm), u16RegCopy);
     
    1177011770                    IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_xadd_u32_locked, pu32Dst, pu32Reg, pEFlags);
    1177111771
    11772                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo);
     11772                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    1177311773                IEM_MC_COMMIT_EFLAGS(EFlags);
    1177411774                IEM_MC_STORE_GREG_U32(IEM_GET_MODRM_REG(pVCpu, bRm), u32RegCopy);
     
    1179811798                    IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_xadd_u64_locked, pu64Dst, pu64Reg, pEFlags);
    1179911799
    11800                 IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo);
     11800                IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    1180111801                IEM_MC_COMMIT_EFLAGS(EFlags);
    1180211802                IEM_MC_STORE_GREG_U64(IEM_GET_MODRM_REG(pVCpu, bRm), u64RegCopy);
     
    1245912459        IEM_MC_CALL_VOID_AIMPL_4(iemAImpl_cmpxchg8b, pu64MemDst, pu64EaxEdx, pu64EbxEcx, pEFlags);
    1246012460
    12461     IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64MemDst, bUnmapInfo);
     12461    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo);
    1246212462    IEM_MC_COMMIT_EFLAGS(EFlags);
    1246312463    IEM_MC_IF_EFL_BIT_NOT_SET(X86_EFL_ZF) {
     
    1250412504
    1250512505#define BODY_CMPXCHG16B_TAIL \
    12506             IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu128MemDst, bUnmapInfo); \
     12506            IEM_MC_MEM_COMMIT_AND_UNMAP_RW(bUnmapInfo); \
    1250712507            IEM_MC_COMMIT_EFLAGS(EFlags); \
    1250812508            IEM_MC_IF_EFL_BIT_NOT_SET(X86_EFL_ZF) { \
  • trunk/src/VBox/VMM/include/IEMMc.h

    r102430 r102433  
    22662266 */
    22672267#ifndef IEM_WITH_SETJMP
    2268 # define IEM_MC_MEM_COMMIT_AND_UNMAP_RW(a_pvMem, a_bMapInfo)    IEM_MC_RETURN_ON_FAILURE(iemMemCommitAndUnmap(pVCpu, a_bMapInfo))
    2269 #else
    2270 # define IEM_MC_MEM_COMMIT_AND_UNMAP_RW(a_pvMem, a_bMapInfo)    iemMemCommitAndUnmapRwJmp(pVCpu, (a_bMapInfo))
     2268# define IEM_MC_MEM_COMMIT_AND_UNMAP_RW(a_bMapInfo)         IEM_MC_RETURN_ON_FAILURE(iemMemCommitAndUnmap(pVCpu, a_bMapInfo))
     2269#else
     2270# define IEM_MC_MEM_COMMIT_AND_UNMAP_RW(a_bMapInfo)         iemMemCommitAndUnmapRwJmp(pVCpu, (a_bMapInfo))
    22712271#endif
    22722272
     
    22752275 */
    22762276#ifndef IEM_WITH_SETJMP
    2277 # define IEM_MC_MEM_COMMIT_AND_UNMAP_WO(a_pvMem, a_bMapInfo)    IEM_MC_RETURN_ON_FAILURE(iemMemCommitAndUnmap(pVCpu, a_bMapInfo))
    2278 #else
    2279 # define IEM_MC_MEM_COMMIT_AND_UNMAP_WO(a_pvMem, a_bMapInfo)    iemMemCommitAndUnmapWoJmp(pVCpu, (a_bMapInfo))
     2277# define IEM_MC_MEM_COMMIT_AND_UNMAP_WO(a_bMapInfo)         IEM_MC_RETURN_ON_FAILURE(iemMemCommitAndUnmap(pVCpu, a_bMapInfo))
     2278#else
     2279# define IEM_MC_MEM_COMMIT_AND_UNMAP_WO(a_bMapInfo)         iemMemCommitAndUnmapWoJmp(pVCpu, (a_bMapInfo))
    22802280#endif
    22812281
     
    22842284 */
    22852285#ifndef IEM_WITH_SETJMP
    2286 # define IEM_MC_MEM_COMMIT_AND_UNMAP_RO(a_pvMem, a_bMapInfo)    IEM_MC_RETURN_ON_FAILURE(iemMemCommitAndUnmap(pVCpu, a_bMapInfo))
    2287 #else
    2288 # define IEM_MC_MEM_COMMIT_AND_UNMAP_RO(a_pvMem, a_bMapInfo)    iemMemCommitAndUnmapRoJmp(pVCpu, (a_bMapInfo))
     2286# define IEM_MC_MEM_COMMIT_AND_UNMAP_RO(a_bMapInfo)         IEM_MC_RETURN_ON_FAILURE(iemMemCommitAndUnmap(pVCpu, a_bMapInfo))
     2287#else
     2288# define IEM_MC_MEM_COMMIT_AND_UNMAP_RO(a_bMapInfo)         iemMemCommitAndUnmapRoJmp(pVCpu, (a_bMapInfo))
    22892289#endif
    22902290
     
    23002300 */
    23012301#ifndef IEM_WITH_SETJMP
    2302 # define IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(a_pvMem, a_bMapInfo, a_u16FSW) do { \
     2302# define IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(a_bMapInfo, a_u16FSW) do { \
    23032303        if (   !(a_u16FSW & X86_FSW_ES) \
    23042304            || !(  (a_u16FSW & (X86_FSW_UE | X86_FSW_OE | X86_FSW_IE)) \
     
    23092309    } while (0)
    23102310#else
    2311 # define IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(a_pvMem, a_bMapInfo, a_u16FSW) do { \
     2311# define IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(a_bMapInfo, a_u16FSW) do { \
    23122312        if (   !(a_u16FSW & X86_FSW_ES) \
    23132313            || !(  (a_u16FSW & (X86_FSW_UE | X86_FSW_OE | X86_FSW_IE)) \
     
    23212321/** Rolls back (conceptually only, assumes no writes) and unmaps the guest  memory. */
    23222322#ifndef IEM_WITH_SETJMP
    2323 # define IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(a_pvMem, a_bMapInfo) \
    2324         iemMemRollbackAndUnmap(pVCpu, a_bMapInfo)
    2325 #else
    2326 # define IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(a_pvMem, a_bMapInfo) \
    2327         iemMemRollbackAndUnmapWo(pVCpu, a_bMapInfo)
     2323# define IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(a_bMapInfo)       iemMemRollbackAndUnmap(pVCpu, a_bMapInfo)
     2324#else
     2325# define IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(a_bMapInfo)       iemMemRollbackAndUnmapWo(pVCpu, a_bMapInfo)
    23282326#endif
    23292327
  • trunk/src/VBox/VMM/testcase/tstIEMCheckMc.cpp

    r102429 r102433  
    953953#define IEM_MC_MEM_MAP_U128_WO(a_pu128Mem, a_bUnmapInfo, a_iSeg, a_GCPtrMem) do { CHK_VAR(a_pu128Mem); (a_pu128Mem) = NULL; CHK_PTYPE(RTUINT128U *,       a_pu128Mem); CHK_VAR(a_bUnmapInfo); CHK_TYPE(uint8_t, a_bUnmapInfo); a_bUnmapInfo = 1; CHK_GCPTR(a_GCPtrMem); CHK_VAR(a_GCPtrMem); CHK_SEG_IDX(a_iSeg); (void)fMcBegin; } while (0)
    954954
    955 #define IEM_MC_MEM_COMMIT_AND_UNMAP_RW(a_pvMem, a_bMapInfo)                do { CHK_VAR(a_pvMem); CHK_VAR(a_bMapInfo); CHK_TYPE(uint8_t, a_bMapInfo); (void)fMcBegin; } while (0)
    956 #define IEM_MC_MEM_COMMIT_AND_UNMAP_RO(a_pvMem, a_bMapInfo)                do { CHK_VAR(a_pvMem); CHK_VAR(a_bMapInfo); CHK_TYPE(uint8_t, a_bMapInfo); (void)fMcBegin; } while (0)
    957 #define IEM_MC_MEM_COMMIT_AND_UNMAP_WO(a_pvMem, a_bMapInfo)                do { CHK_VAR(a_pvMem); CHK_VAR(a_bMapInfo); CHK_TYPE(uint8_t, a_bMapInfo); (void)fMcBegin; } while (0)
    958 #define IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(a_pvMem, a_bMapInfo)              do { CHK_VAR(a_pvMem); CHK_VAR(a_bMapInfo); CHK_TYPE(uint8_t, a_bMapInfo); (void)fMcBegin; } while (0)
    959 #define IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(a_pvMem, a_bMapInfo, a_u16FSW) do { CHK_VAR(a_pvMem); CHK_VAR(a_bMapInfo); CHK_VAR(a_u16FSW); (void)fMcBegin; } while (0)
     955#define IEM_MC_MEM_COMMIT_AND_UNMAP_RW(a_bMapInfo)                          do { CHK_VAR(a_bMapInfo); CHK_TYPE(uint8_t, a_bMapInfo); (void)fMcBegin; } while (0)
     956#define IEM_MC_MEM_COMMIT_AND_UNMAP_RO(a_bMapInfo)                          do { CHK_VAR(a_bMapInfo); CHK_TYPE(uint8_t, a_bMapInfo); (void)fMcBegin; } while (0)
     957#define IEM_MC_MEM_COMMIT_AND_UNMAP_WO(a_bMapInfo)                          do { CHK_VAR(a_bMapInfo); CHK_TYPE(uint8_t, a_bMapInfo); (void)fMcBegin; } while (0)
     958#define IEM_MC_MEM_ROLLBACK_AND_UNMAP_WO(a_bMapInfo)                        do { CHK_VAR(a_bMapInfo); CHK_TYPE(uint8_t, a_bMapInfo); (void)fMcBegin; } while (0)
     959#define IEM_MC_MEM_COMMIT_AND_UNMAP_FOR_FPU_STORE_WO(a_bMapInfo, a_u16FSW)  do { CHK_VAR(a_bMapInfo); CHK_VAR(a_u16FSW); (void)fMcBegin; } while (0)
    960960
    961961#define IEM_MC_CALC_RM_EFF_ADDR(a_GCPtrEff, a_bRm, a_cbImmAndRspOffset) do { (a_GCPtrEff) = 0; CHK_GCPTR(a_GCPtrEff); (void)fMcBegin; } while (0)
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