ROSE 0.11.145.134
Public Member Functions | Protected Attributes | List of all members
Rose::BinaryAnalysis::Partitioner2::Experimental::ParallelPartitioner::DecodeInstruction Class Reference

Description

Decode an instruction at a specific address.

This work item will populate an existing vertex of the CFG with an instruction, try to figure out what the instruction's CFG successors are, add CFG vertices for each successor that doesn't already exist, and create more work to populate those vertices with decoded instructions.

Definition at line 552 of file ParallelPartitioner.h.

#include <Rose/BinaryAnalysis/Partitioner2/ParallelPartitioner.h>

Inheritance diagram for Rose::BinaryAnalysis::Partitioner2::Experimental::ParallelPartitioner::DecodeInstruction:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::Partitioner2::Experimental::ParallelPartitioner::DecodeInstruction:
Collaboration graph
[legend]

Public Member Functions

 DecodeInstruction (Partitioner &partitioner, rose_addr_t va)
 
std::string title () const override
 A one-line title.
 
void run () override
 Performs the work.
 
- Public Member Functions inherited from Rose::BinaryAnalysis::Partitioner2::Experimental::ParallelPartitioner::WorkItem
bool operator< (const WorkItem &) const
 Sort work.
 

Protected Attributes

rose_addr_t insnVa
 

Additional Inherited Members

- Public Types inherited from Rose::BinaryAnalysis::Partitioner2::Experimental::ParallelPartitioner::WorkItem
enum class  Priority {
  DiscoverInstruction = 0 ,
  NextUnusedVa = -100
}
 Coarse priority for work items. More...
 
- Protected Member Functions inherited from Rose::BinaryAnalysis::Partitioner2::Experimental::ParallelPartitioner::WorkItem
 WorkItem (Partitioner &partitioner, Priority priority, uint64_t sort)
 Construct new item with given priority for a specific partitioner.
 
Partitionerpartitioner () const
 Partitioner set at construction time.
 
Priority priority () const
 Priority set at construction time.
 

Constructor & Destructor Documentation

◆ DecodeInstruction()

Rose::BinaryAnalysis::Partitioner2::Experimental::ParallelPartitioner::DecodeInstruction::DecodeInstruction ( Partitioner partitioner,
rose_addr_t  va 
)
inline

Definition at line 557 of file ParallelPartitioner.h.

Member Function Documentation

◆ title()

std::string Rose::BinaryAnalysis::Partitioner2::Experimental::ParallelPartitioner::DecodeInstruction::title ( ) const
inlineoverridevirtual

◆ run()

void Rose::BinaryAnalysis::Partitioner2::Experimental::ParallelPartitioner::DecodeInstruction::run ( )
overridevirtual

Performs the work.

This function runs in its own thread.

Implements Rose::BinaryAnalysis::Partitioner2::Experimental::ParallelPartitioner::WorkItem.

Member Data Documentation

◆ insnVa

rose_addr_t Rose::BinaryAnalysis::Partitioner2::Experimental::ParallelPartitioner::DecodeInstruction::insnVa
protected

Definition at line 554 of file ParallelPartitioner.h.


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