| java.lang.Object | |
| ↳ | com.pnfsoftware.jeb.core.units.code.CFGUtil.RegionFinder |
This class attempts to determine a region in a graph. A region consists of a set of blocks, reachable from an entry block, and reaching an optional set of outputs. The only way to reach a region's node is via the entry block.
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
RegionFinder(CFG<? extends IInstruction> cfg, long entry, Set<Long> outputs, boolean canLoopBackToEntry)
Build a region finder.
| |||||||||||
|
RegionFinder(CFG<? extends IInstruction> cfg, long entry, long output)
Build a finder for a region having a single output, for which the region blocks cannot
loop back to the entry.
| |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Collection<Long> | getRegionBlocks() | ||||||||||
| boolean | process() | ||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
Build a region finder.
| cfg | CFG |
|---|---|
| entry | entry block address |
| outputs | output block addresses (may be 0, 1, or 2+) |
| canLoopBackToEntry | true if the blocks in the region to-be-determined may loop back to the entry node; false if they may not |
Build a finder for a region having a single output, for which the region blocks cannot loop back to the entry.
| cfg | CFG |
|---|---|
| entry | entry block address |
| output | exit block address |