Predator  [unstable] git snapshot
Public Member Functions | Private Member Functions | Private Attributes | Friends
SymCallCtx Class Reference

function call context, which represents a cache entry of SymCallCache More...

#include <symcall.hh>

Public Member Functions

bool needExec () const
 check if we need to execute the function call in this context.
bool inUse () const
 return true if the context is being used by the current backtrace
const SymHeapentry () const
 a pre-computed symbolic heap valid for the entry of the eventual function call.
SymStaterawResults ()
 a place for raw results of a function call, later polished and merged into the target state.
void flushCallResults (SymState &dst)
 merge the (either cached, or just computed) results of the corresponding function call into the target state
void invalidate ()
 invalidate the context, which may trigger its removal from cache and consequently destruction of the SymCallCtx object itself

Private Member Functions

 SymCallCtx (SymCallCache::Private *)
 ~SymCallCtx ()
 SymCallCtx (const SymCallCtx &)
 object copying is not allowed
SymCallCtxoperator= (const SymCallCtx &)
 object copying is not allowed

Private Attributes

Private * d

Friends

class PerFncCache
class SymCallCache

Detailed Description

function call context, which represents a cache entry of SymCallCache

Note
these objects can't be created/destroyed out of SymCallCache

Definition at line 82 of file symcall.hh.

Constructor & Destructor Documentation

SymCallCtx ( SymCallCache::Private *  )
private
Note
these objects can't be created/destroyed out of SymCallCache
~SymCallCtx ( )
private
Note
these objects can't be created/destroyed out of SymCallCache
SymCallCtx ( const SymCallCtx )
private

object copying is not allowed

Member Function Documentation

const SymHeap& entry ( ) const

a pre-computed symbolic heap valid for the entry of the eventual function call.

Do not use this method if needExec() has returned false.

void flushCallResults ( SymState dst)

merge the (either cached, or just computed) results of the corresponding function call into the target state

Parameters
dsttarget state
bool inUse ( ) const

return true if the context is being used by the current backtrace

void invalidate ( )

invalidate the context, which may trigger its removal from cache and consequently destruction of the SymCallCtx object itself

bool needExec ( ) const

check if we need to execute the function call in this context.

If true, you need to execute the call, starting with entry(), and insert all results into rawResults(). If false, you don't need to execute the function call and you can use the already cached result.

SymCallCtx& operator= ( const SymCallCtx )
private

object copying is not allowed

SymState& rawResults ( )

a place for raw results of a function call, later polished and merged into the target state.

Do not use this method if needExec() has returned false.

Friends And Related Function Documentation

friend class PerFncCache
friend
Note
these objects can't be created/destroyed out of SymCallCache

Definition at line 130 of file symcall.hh.

friend class SymCallCache
friend

Definition at line 131 of file symcall.hh.

Field Documentation

Private* d
private

Definition at line 140 of file symcall.hh.


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