ROSE 0.11.145.134
|
Wrapper for AST that can be evicted.
This is primarily an internal object. See InstructionPtr instead.
This object either points to an SgAsmInstruction AST or to enough information to recreate it. Every one of these objects is owned by an InstructionCache. It has a very limited public API: essentially just an arrow operator that returns a pointer to the AST. The arrow operator recreates the AST if necessary.
Definition at line 34 of file InstructionCache.h.
#include <Rose/BinaryAnalysis/InstructionCache.h>
Public Member Functions | |
LockedInstruction | operator-> () const |
Access an instruction member. | |
|
inline |
Access an instruction member.
Assuming this is not a null pointer, this method reconstructs the instruction AST if necessary, notifies the associated cache that the instruction has been used, and returns a new instruction pointer whose only purpose is to cause the instruction to be temporarily locked in the cache so some other thread doesn't evict it while we're using it. If the AST is null then a null pointer is returned with no attempt to create an AST.
Thread safety: This method is thread safe.
Definition at line 472 of file InstructionCache.h.