VirtualBox

Changeset 100223 in vbox


Ignore:
Timestamp:
Jun 20, 2023 2:53:04 AM (18 months ago)
Author:
vboxsync
Message:

VMM/IEM: More recompilation code. bugref:10369

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllThreadedPython.py

    r100149 r100223  
    842842                oRef = aoRefs[0];
    843843                if oRef.iNewParam == iParam:
     844                    sCast = '(uint64_t)'
     845                    if oRef.sType in ('int8_t', 'int16_t', 'int32_t'): # Make sure these doesn't get sign-extended.
     846                        sCast = '(uint64_t)(u' + oRef.sType + ')';
    844847                    if oRef.offNewParam == 0:
    845                         asFrags.append('(uint64_t)(' + oRef.sOrgRef + ')');
     848                        asFrags.append(sCast + '(' + oRef.sOrgRef + ')');
    846849                    else:
    847                         asFrags.append('((uint64_t)(%s) << %s)' % (oRef.sOrgRef, oRef.offNewParam));
     850                        asFrags.append('(%s(%s) << %s)' % (sCast, oRef.sOrgRef, oRef.offNewParam));
    848851            assert asFrags;
    849852            sCode += ', ' + ' | '.join(asFrags);
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