VirtualBox

Ignore:
Timestamp:
Nov 12, 2023 1:36:45 AM (16 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
160181
Message:

VMM/IEM: Native translation of IEM_MC_CLEAR_HIGH_GREG_U64. Had to extend IEMAllN8veRecompiler.py to insert IEM_MC_FREE_LOCAL (and IEM_MC_FREE_ARG) into ELSE branches to simplify state consolidation on IEM_MC_ENDIF (had trouble with cmovxx). bugref:10371

File:
1 edited

Legend:

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

    r102069 r102070  
    19911991    ## @}
    19921992
    1993     def __init__(self, sSrcFile, iBeginLine, offBeginLine, oFunction, iInFunction, cchIndent = None):
     1993    def __init__(self, sSrcFile, iBeginLine, offBeginLine, oFunction, iInFunction, cchIndent = None, fDeferToCImpl = False):
     1994        ## Set if IEM_MC_DEFER_TO_CIMPL_0_RET and friends, clear if IEM_MC_BEGIN/END block.
     1995        self.fDeferToCImpl = fDeferToCImpl;
    19941996        ## The source file containing the block.
    19951997        self.sSrcFile     = sSrcFile;
     
    27932795    'IEM_MC_CLEAR_EFL_BIT':                                      (McBlock.parseMcGeneric,           True,  False, ),
    27942796    'IEM_MC_CLEAR_FSW_EX':                                       (McBlock.parseMcGeneric,           True,  False, ),
    2795     'IEM_MC_CLEAR_HIGH_GREG_U64':                                (McBlock.parseMcGeneric,           True,  False, ),
     2797    'IEM_MC_CLEAR_HIGH_GREG_U64':                                (McBlock.parseMcGeneric,           True,  True, ),
    27962798    'IEM_MC_CLEAR_XREG_U32_MASK':                                (McBlock.parseMcGeneric,           True,  False, ),
    27972799    'IEM_MC_CLEAR_YREG_128_UP':                                  (McBlock.parseMcGeneric,           True,  False, ),
     
    52015203        # Start a new block.
    52025204        oMcBlock = McBlock(self.sSrcFile, self.iLine, offBeginStatementInLine,
    5203                            self.oCurFunction, self.iMcBlockInFunc, cchIndent);
     5205                           self.oCurFunction, self.iMcBlockInFunc, cchIndent, fDeferToCImpl = True);
    52045206
    52055207        # Parse the statment.
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