|
Ghidra Decompiler Analysis Engine
|
A container for disassembly context used by the SLEIGH engine. More...
#include <sleigh.hh>
Public Member Functions | |
| DisassemblyCache (ContextCache *ccache, AddrSpace *cspace, int4 cachesize, int4 windowsize) | |
| Constructor. More... | |
| ParserContext * | getParserContext (const Address &addr) |
| Get the parser for a particular Address. More... | |
A container for disassembly context used by the SLEIGH engine.
This acts as a factor for the ParserContext objects which are used to disassemble a single instruction. These all share a ContextCache which is a front end for accessing the ContextDatabase and resolving context variables from the SLEIGH spec. ParserContext objects are stored in a hash-table keyed by the address of the instruction.
| DisassemblyCache::DisassemblyCache | ( | ContextCache * | ccache, |
| AddrSpace * | cspace, | ||
| int4 | cachesize, | ||
| int4 | windowsize | ||
| ) |
| ccache | is the ContextCache front-end shared across all the parser contexts |
| cspace | is the constant address space used for minting constant Varnodes |
| cachesize | is the number of distinct ParserContext objects in this cache |
| windowsize | is the size of the ParserContext hash-table |
| ParserContext * DisassemblyCache::getParserContext | ( | const Address & | addr | ) |
Get the parser for a particular Address.
Return a (possibly cached) ParserContext that is associated with addr If n different calls to this interface are made with n different Addresses, if
then the cacher guarantees that you get all different ParserContext objects
| addr | is the Address to disassemble at |
1.8.17