webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
ud_opcode.UdOpcodeTables Class Reference
Inheritance diagram for ud_opcode.UdOpcodeTables:

Classes

class  CollisionError
 

Public Member Functions

def newTable (self, typ)
 
def mkTrie (self, opcodes, obj)
 
def walk (self, tbl, opcodes)
 
def map (self, tbl, opcodes, obj)
 
def __init__ (self, xml)
 
def log (self, s)
 
def mergeSSENONE (self)
 
def patchAvx2byte (self)
 
def addInsn (self, insnDef)
 
def addInsnDef (self, insnDef)
 
def addSSE2AVXInsn (self, insnDef)
 
def getInsnList (self)
 
def getTableList (self)
 
def getMnemonicsList (self)
 
def pprint (self)
 
def printStats (self)
 

Static Public Member Functions

def parseOptableXML (xml)
 

Public Attributes

 root
 
 invalidInsn
 

Detailed Description

Collection of opcode tables

Constructor & Destructor Documentation

◆ __init__()

def ud_opcode.UdOpcodeTables.__init__ (   self,
  xml 
)

Member Function Documentation

◆ addInsn()

def ud_opcode.UdOpcodeTables.addInsn (   self,
  insnDef 
)

◆ addInsnDef()

def ud_opcode.UdOpcodeTables.addInsnDef (   self,
  insnDef 
)

◆ addSSE2AVXInsn()

def ud_opcode.UdOpcodeTables.addSSE2AVXInsn (   self,
  insnDef 
)
Add an instruction definition containing an avx cpuid bit, but
   declared in its legacy SSE form. The function splits the
   definition to create two new definitions, one for SSE and one
   promoted to an AVX form.

◆ getInsnList()

def ud_opcode.UdOpcodeTables.getInsnList (   self)
Returns a list of all instructions in the collection

◆ getMnemonicsList()

def ud_opcode.UdOpcodeTables.getMnemonicsList (   self)
Returns a sorted list of mnemonics

◆ getTableList()

def ud_opcode.UdOpcodeTables.getTableList (   self)
Returns a list of all tables in the collection

◆ log()

def ud_opcode.UdOpcodeTables.log (   self,
  s 
)

◆ map()

def ud_opcode.UdOpcodeTables.map (   self,
  tbl,
  opcodes,
  obj 
)
Create a mapping from a given string of opcodes to an
   object in the opcode trie. Constructs trie branches as
   needed.

◆ mergeSSENONE()

def ud_opcode.UdOpcodeTables.mergeSSENONE (   self)
Merge sse tables with only one entry for /sse=none

◆ mkTrie()

def ud_opcode.UdOpcodeTables.mkTrie (   self,
  opcodes,
  obj 
)
Recursively contruct a trie entry mapping a string of
   opcodes to an object.

◆ newTable()

def ud_opcode.UdOpcodeTables.newTable (   self,
  typ 
)
Create a new opcode table of a give type `typ`. 

◆ parseOptableXML()

def ud_opcode.UdOpcodeTables.parseOptableXML (   xml)
static
Parse udis86 optable.xml file and return list of
   instruction definitions.

◆ patchAvx2byte()

def ud_opcode.UdOpcodeTables.patchAvx2byte (   self)

◆ pprint()

def ud_opcode.UdOpcodeTables.pprint (   self)

◆ printStats()

def ud_opcode.UdOpcodeTables.printStats (   self)

◆ walk()

def ud_opcode.UdOpcodeTables.walk (   self,
  tbl,
  opcodes 
)
Walk down the opcode trie, starting at a given opcode
   table, given a string of opcodes. Return None if unable
   to walk, the object at the leaf otherwise.

Member Data Documentation

◆ invalidInsn

ud_opcode.UdOpcodeTables.invalidInsn

◆ root

ud_opcode.UdOpcodeTables.root

The documentation for this class was generated from the following file: