VirtualBox

Changeset 99290 in vbox for trunk/src


Ignore:
Timestamp:
Apr 5, 2023 12:19:57 AM (22 months ago)
Author:
vboxsync
Message:

VMM/IEM: More work on processing MC blocks and generating threaded functions from them. bugref:10369

File:
1 edited

Legend:

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

    r99288 r99290  
    547547                                    self.raiseProblem('Unable to find ")" for %s in "%s"' % (sRef, oStmt.renderCode(),));
    548548                                offParam = offCloseParam + 1;
    549                                 while offParam < len(sParam) and (sParam[offParam].isalnum() or sParam[offParam] in '_.'):
    550                                     offParam += 1;
     549
     550                                # Skip any dereference following it, unless it's a predicate like IEM_IS_GUEST_CPU_AMD.
     551                                if sRef not in ('IEM_IS_GUEST_CPU_AMD', ):
     552                                    offParam = iai.McBlock.skipSpacesAt(sParam, offParam, len(sParam));
     553                                    if offParam + 2 <= len(sParam) and sParam[offParam : offParam + 2] == '->':
     554                                        offParam = iai.McBlock.skipSpacesAt(sParam, offParam + 2, len(sParam));
     555                                        while offParam < len(sParam) and (sParam[offParam].isalnum() or sParam[offParam] in '_.'):
     556                                            offParam += 1;
    551557
    552558                            # Skip constants, globals, types (casts), sizeof and macros.
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