VirtualBox

Ignore:
Timestamp:
Jan 15, 2024 3:28:34 PM (14 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
161099
Message:

VMM/IEM: Skip PC validation and such if we don't jump on a conditional branch (when compiling). Disabled setting two unused IEMCPU members. bugref:10371

File:
1 edited

Legend:

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

    r102876 r102879  
    14181418        variation and any subsequent checks that may be necessary after that.
    14191419
    1420         The sCallVarNm is for emitting
     1420        The sCallVarNm is the name of the variable with the threaded function
     1421        to call.  This is for the case where all the variations have the same
     1422        parameters and only the threaded function number differs.
    14211423        """
    14221424        aoStmts = [
     
    14721474            elif sFlag.startswith('IEM_CIMPL_F_BRANCH_'):
    14731475                asTbBranchedFlags.append(sFlag);
    1474         if asTbBranchedFlags:
     1476        if (    asTbBranchedFlags
     1477            and (   'IEM_CIMPL_F_BRANCH_CONDITIONAL' not in asTbBranchedFlags
     1478                 or self.sVariation not in self.kdVariationsWithConditionalNoJmp)):
    14751479            aoStmts.append(iai.McCppGeneric('iemThreadedSetBranched(pVCpu, %s);'
    14761480                                            % ((' | '.join(asTbBranchedFlags)).replace('IEM_CIMPL_F_BRANCH', 'IEMBRANCHED_F'),),
     
    17401744        # Special case for only default variation:
    17411745        if len(self.aoVariations) == 1  and  self.aoVariations[0].sVariation == ThreadedFunctionVariation.ksVariation_Default:
     1746            assert not sBranch;
    17421747            return self.aoVariations[0].emitThreadedCallStmts(0);
    17431748
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