VirtualBox

Changeset 105655 in vbox for trunk/src/VBox/VMM/VMMAll


Ignore:
Timestamp:
Aug 13, 2024 7:06:03 AM (9 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
164348
Message:

VMM/IEM: Fix adjusting the stack pointer when recompiling a pop instruction, in 64-bit code a 0x66 prefix indicates a 16-bit pop and the stack pointer should only increase by 2, bugref:10741

File:
1 edited

Legend:

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

    r105652 r105655  
    80458045        {
    80468046            if (cBitsFlat == 64)
    8047                 off = iemNativeEmitAddGprImm8(pReNative, off, idxRegRsp, sizeof(uint64_t));
     8047                off = iemNativeEmitAddGprImm8(pReNative, off, idxRegRsp, cbMem);
    80488048            else
    8049                 off = iemNativeEmitAddGpr32Imm8(pReNative, off, idxRegRsp, sizeof(uint32_t));
     8049                off = iemNativeEmitAddGpr32Imm8(pReNative, off, idxRegRsp, cbMem);
    80508050        }
    80518051    }
     
    80628062            {
    80638063                if (cBitsFlat == 64)
    8064                     off = iemNativeEmitAddGprImm8(pReNative, off, idxRegRsp, sizeof(uint64_t));
     8064                    off = iemNativeEmitAddGprImm8(pReNative, off, idxRegRsp, cbMem);
    80658065                else
    8066                     off = iemNativeEmitAddGpr32Imm8(pReNative, off, idxRegRsp, sizeof(uint32_t));
     8066                    off = iemNativeEmitAddGpr32Imm8(pReNative, off, idxRegRsp, cbMem);
    80678067            }
    80688068            off = iemNativeEmitGprMergeInGpr16(pReNative, off, idxRegRsp, idxRegMemResult);
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