Monero
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
randomx_vm Class Referenceabstract

#include <virtual_machine.hpp>

Inheritance diagram for randomx_vm:
Inheritance graph
[legend]
Collaboration diagram for randomx_vm:
Collaboration graph
[legend]

Public Member Functions

virtual ~randomx_vm ()=0
 
virtual void allocate ()=0
 
virtual void getFinalResult (void *out, size_t outSize)=0
 
virtual void hashAndFill (void *out, size_t outSize, uint64_t *fill_state)=0
 
virtual void setDataset (randomx_dataset *dataset)
 
virtual void setCache (randomx_cache *cache)
 
virtual void initScratchpad (void *seed)=0
 
virtual void run (void *seed)=0
 
void resetRoundingMode ()
 
randomx::RegisterFilegetRegisterFile ()
 
const void * getScratchpad ()
 
const randomx::ProgramgetProgram ()
 
const uint8_tgetMemory () const
 

Public Attributes

std::string cacheKey
 
uint64_t tempHash [8]
 
randomx_cachecachePtr = nullptr
 
randomx_datasetdatasetPtr
 

Protected Member Functions

void initialize ()
 

Protected Attributes

randomx::Program program
 
randomx::RegisterFile reg
 
randomx::ProgramConfiguration config
 
randomx::MemoryRegisters mem
 
uint8_tscratchpad = nullptr
 
union {
   randomx_cache *   cachePtr = nullptr
 
   randomx_dataset *   datasetPtr
 
}; 
 
uint64_t datasetOffset
 

Constructor & Destructor Documentation

◆ ~randomx_vm()

randomx_vm::~randomx_vm ( )
pure virtual

Member Function Documentation

◆ allocate()

virtual void randomx_vm::allocate ( )
pure virtual

◆ getFinalResult()

virtual void randomx_vm::getFinalResult ( void *  out,
size_t  outSize 
)
pure virtual

◆ getMemory()

const uint8_t* randomx_vm::getMemory ( ) const
inline

◆ getProgram()

const randomx::Program& randomx_vm::getProgram ( )
inline

◆ getRegisterFile()

randomx::RegisterFile* randomx_vm::getRegisterFile ( )
inline

◆ getScratchpad()

const void* randomx_vm::getScratchpad ( )
inline

◆ hashAndFill()

virtual void randomx_vm::hashAndFill ( void *  out,
size_t  outSize,
uint64_t fill_state 
)
pure virtual

◆ initialize()

void randomx_vm::initialize ( )
protected

◆ initScratchpad()

virtual void randomx_vm::initScratchpad ( void *  seed)
pure virtual

◆ resetRoundingMode()

void randomx_vm::resetRoundingMode ( )

◆ run()

virtual void randomx_vm::run ( void *  seed)
pure virtual

◆ setCache()

virtual void randomx_vm::setCache ( randomx_cache cache)
inlinevirtual

◆ setDataset()

virtual void randomx_vm::setDataset ( randomx_dataset dataset)
inlinevirtual

Member Data Documentation

◆ @55

union { ... }

◆ cacheKey

std::string randomx_vm::cacheKey

◆ cachePtr

randomx_cache* randomx_vm::cachePtr = nullptr

◆ config

randomx::ProgramConfiguration randomx_vm::config
protected

◆ datasetOffset

uint64_t randomx_vm::datasetOffset
protected

◆ datasetPtr

randomx_dataset* randomx_vm::datasetPtr

◆ mem

randomx::MemoryRegisters randomx_vm::mem
protected

◆ program

randomx::Program randomx_vm::program
protected

◆ reg

randomx::RegisterFile randomx_vm::reg
protected

◆ scratchpad

uint8_t* randomx_vm::scratchpad = nullptr
protected

◆ tempHash

uint64_t randomx_vm::tempHash[8]

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