replicode
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
r_exec::Overlay Class Reference

#include <overlay.h>

Inheritance diagram for r_exec::Overlay:
Inheritance graph
Collaboration diagram for r_exec::Overlay:
Collaboration graph

Public Member Functions

virtual ~Overlay ()
 
virtual void reset ()
 
virtual Overlayreduce (r_exec::View *input)
 
void invalidate ()
 
virtual bool is_invalidated ()
 
r_code::CodegetObject () const
 
r_exec::ViewgetView () const
 
r_code::Codebuild_object (Atom head) const
 
- Public Member Functions inherited from core::_Object
virtual ~_Object ()
 
void incRef ()
 
virtual void decRef ()
 

Protected Member Functions

void load_code ()
 
void patch_code (uint16_t index, Atom value)
 
uint16_t get_last_patch_index ()
 
void unpatch_code (uint16_t patch_index)
 
void rollback ()
 
void commit ()
 
Codeget_core_object () const
 
 Overlay ()
 
 Overlay (Controller *c, bool load_code=true)
 
- Protected Member Functions inherited from core::_Object
 _Object ()
 

Protected Attributes

volatile uint64_t invalidated
 
Controllercontroller
 
r_code::vector< Atomvalues
 
Atomcode
 
uint16_t code_size
 
std::vector< uint16_t > patch_indices
 
uint16_t value_commit_index
 
- Protected Attributes inherited from core::_Object
std::atomic_int_fast64_t refCount
 

Friends

class _Context
 
class IPGMContext
 
class HLPContext
 

Constructor & Destructor Documentation

r_exec::Overlay::Overlay ( )
protected

Here is the call graph for this function:

r_exec::Overlay::Overlay ( Controller c,
bool  load_code = true 
)
protected

Here is the call graph for this function:

r_exec::Overlay::~Overlay ( )
virtual

Member Function Documentation

r_code::Code * r_exec::Overlay::build_object ( Atom  head) const

Here is the call graph for this function:

void r_exec::Overlay::commit ( )
protected

Here is the call graph for this function:

Here is the caller graph for this function:

Code * r_exec::Overlay::get_core_object ( ) const
inlineprotected

Here is the call graph for this function:

Here is the caller graph for this function:

uint16_t r_exec::Overlay::get_last_patch_index ( )
protected

Here is the caller graph for this function:

r_code::Code* r_exec::Overlay::getObject ( ) const
inline

Here is the caller graph for this function:

r_exec::View* r_exec::Overlay::getView ( ) const
inline

Here is the caller graph for this function:

void r_exec::Overlay::invalidate ( )
inline

Here is the caller graph for this function:

virtual bool r_exec::Overlay::is_invalidated ( )
inlinevirtual

Reimplemented in r_exec::PGMOverlay.

void r_exec::Overlay::load_code ( )
protected

Here is the call graph for this function:

Here is the caller graph for this function:

void r_exec::Overlay::patch_code ( uint16_t  index,
Atom  value 
)
protected

Here is the caller graph for this function:

Overlay * r_exec::Overlay::reduce ( r_exec::View input)
virtual

Reimplemented in r_exec::AntiPGMOverlay, and r_exec::PGMOverlay.

Here is the caller graph for this function:

void r_exec::Overlay::reset ( )
virtual

Reimplemented in r_exec::PGMOverlay, and r_exec::InputLessPGMOverlay.

Here is the call graph for this function:

Here is the caller graph for this function:

void r_exec::Overlay::rollback ( )
protected

Here is the call graph for this function:

Here is the caller graph for this function:

void r_exec::Overlay::unpatch_code ( uint16_t  patch_index)
protected

Here is the call graph for this function:

Here is the caller graph for this function:

Friends And Related Function Documentation

friend class _Context
friend
friend class HLPContext
friend
friend class IPGMContext
friend

Member Data Documentation

Atom* r_exec::Overlay::code
protected
uint16_t r_exec::Overlay::code_size
protected
Controller* r_exec::Overlay::controller
protected
volatile uint64_t r_exec::Overlay::invalidated
protected
std::vector<uint16_t> r_exec::Overlay::patch_indices
protected
uint16_t r_exec::Overlay::value_commit_index
protected
r_code::vector<Atom> r_exec::Overlay::values
protected

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