A graph lens for obtaining DisasmCFG.
Function or value | Description |
Full Usage:
DisasmLens.addEdge vMap g (src, dst) e
Parameters:
DisasmVMap
g : DiGraph<DisasmBasicBlock, 'a>
src : Addr
dst : Addr
e : 'a
Returns: DiGraph<DisasmBasicBlock, 'a>
|
|
Full Usage:
DisasmLens.addVertex (g, vMap) addr instrs
Parameters:
DiGraph<DisasmBasicBlock, 'a>
vMap : DisasmVMap
addr : Addr
instrs : Instruction[]
Returns: DiGraph<DisasmBasicBlock, 'a> * DisasmVMap
|
|
Full Usage:
DisasmLens.canBeMerged ircfg v
Parameters:
DiGraph<'a, CFGEdgeKind>
v : Vertex<'a>
Returns: bool
|
|
Full Usage:
DisasmLens.filter codeMgr g root
Parameters:
CodeManager
g : DiGraph<IRBasicBlock, CFGEdgeKind>
root : IRVertex
Returns: DiGraph<DisasmBasicBlock, CFGEdgeKind> * DisasmVertex
|
|
|
|
Full Usage:
DisasmLens.getEdgeInfos blockInfos ircfg
Parameters:
Map<Addr, (AddrRange * 'a)>
ircfg : DiGraph<IRBasicBlock, CFGEdgeKind>
Returns: Map<(Addr * Addr), CFGEdgeKind>
|
|
Full Usage:
DisasmLens.getMergeMap blockInfos ircfg
Parameters:
Map<'a, (AddrRange * 'b)>
ircfg : DiGraph<IRBasicBlock, CFGEdgeKind>
Returns: Map<'a, Addr>
|
|
Full Usage:
DisasmLens.mergeInfos codeMgr blockInfos edgeInfos mergeMap
Parameters:
CodeManager
blockInfos : Map<'a, ('b * Set<Addr>)>
edgeInfos : Map<('a * 'c), 'd>
mergeMap : Map<'a, 'a>
Returns: Map<'a, Instruction[]> * Map<('a * 'c), 'd>
|
|
Full Usage:
DisasmLens.mergeInfosLoop codeMgr blockInfo vertexInfo edgeInfo mergeMap _arg1
Parameters:
CodeManager
blockInfo : Map<'a, ('b * Set<Addr>)>
vertexInfo : Map<'a, Instruction[]>
edgeInfo : Map<('a * 'c), 'd>
mergeMap : Map<'a, 'a>
_arg1 : 'a list
Returns: Map<'a, Instruction[]> * Map<('a * 'c), 'd>
|
|
Full Usage:
DisasmLens.resolveMerge codeMgr blockInfo vertexInfo edgeInfo mergeMap addr next addrs
Parameters:
CodeManager
blockInfo : Map<'a, ('b * Set<Addr>)>
vertexInfo : Map<'a, Instruction[]>
edgeInfo : Map<('a * 'c), 'd>
mergeMap : Map<'a, 'a>
addr : 'a
next : 'a
addrs : 'a list
Returns: Map<'a, Instruction[]> * Map<('a * 'c), 'd> * Map<'a, 'a> * 'a list
|
|