|
Ghidra Decompiler Analysis Engine
|
Build p-code from a pre-parsed instruction. More...
#include <sleigh.hh>


Public Member Functions | |
| SleighBuilder (ParserWalker *w, DisassemblyCache *dcache, PcodeCacher *pc, AddrSpace *cspc, AddrSpace *uspc, uint4 umask) | |
| Constructor. More... | |
| virtual void | appendBuild (OpTpl *bld, int4 secnum) |
| virtual void | delaySlot (OpTpl *op) |
| virtual void | setLabel (OpTpl *op) |
| virtual void | appendCrossBuild (OpTpl *bld, int4 secnum) |
Public Member Functions inherited from PcodeBuilder | |
| PcodeBuilder (uint4 lbcnt) | |
| uint4 | getLabelBase (void) const |
| ParserWalker * | getCurrentWalker () const |
| void | build (ConstructTpl *construct, int4 secnum) |
Additional Inherited Members | |
Protected Attributes inherited from PcodeBuilder | |
| ParserWalker * | walker |
Build p-code from a pre-parsed instruction.
Through the build() method, this walks the parse tree and prepares data for final emission as p-code. (The final emitting is done separately through the PcodeCacher.emit() method). Generally, only p-code for one instruction is prepared. But, through the delay-slot mechanism, build() may recursively visit additional instructions.
| SleighBuilder::SleighBuilder | ( | ParserWalker * | w, |
| DisassemblyCache * | dcache, | ||
| PcodeCacher * | pc, | ||
| AddrSpace * | cspc, | ||
| AddrSpace * | uspc, | ||
| uint4 | umask | ||
| ) |
| w | is the parsed instruction |
| dcache | is a cache of nearby instruction parses |
| pc | will hold the PcodeData and VarnodeData objects produced by this builder |
| cspc | is the constant address space |
| uspc | is the unique address space |
| umask | is the mask to use to find unique bits within an Address |
1.8.17