|
Monero
|
#include <virtual_machine.hpp>


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::RegisterFile * | getRegisterFile () |
| const void * | getScratchpad () |
| const randomx::Program & | getProgram () |
| const uint8_t * | getMemory () const |
Public Attributes | |
| std::string | cacheKey |
| uint64_t | tempHash [8] |
Protected Member Functions | |
| void | initialize () |
Protected Attributes | |
| randomx::Program | program |
| randomx::RegisterFile | reg |
| randomx::ProgramConfiguration | config |
| randomx::MemoryRegisters | mem |
| uint8_t * | scratchpad = nullptr |
| union { | |
| randomx_cache * cachePtr = nullptr | |
| randomx_dataset * datasetPtr | |
| }; | |
| uint64_t | datasetOffset |
|
pure virtual |
|
pure virtual |
Implemented in randomx::VmBase< Allocator, softAes >.
|
pure virtual |
Implemented in randomx::VmBase< Allocator, softAes >.
|
inline |
|
inline |
|
inline |
|
inline |
|
pure virtual |
Implemented in randomx::VmBase< Allocator, softAes >.
|
protected |
|
pure virtual |
Implemented in randomx::VmBase< Allocator, softAes >.
| void randomx_vm::resetRoundingMode | ( | ) |
|
pure virtual |
Implemented in randomx::CompiledLightVm< Allocator, softAes, secureJit >, randomx::CompiledLightVm< AlignedAllocator< CacheLineSize >, false, false >, randomx::CompiledLightVm< AlignedAllocator< CacheLineSize >, false, true >, randomx::CompiledLightVm< AlignedAllocator< CacheLineSize >, true, false >, randomx::CompiledLightVm< AlignedAllocator< CacheLineSize >, true, true >, randomx::CompiledLightVm< LargePageAllocator, false, false >, randomx::CompiledLightVm< LargePageAllocator, false, true >, randomx::CompiledLightVm< LargePageAllocator, true, false >, randomx::CompiledLightVm< LargePageAllocator, true, true >, randomx::CompiledVm< Allocator, softAes, secureJit >, randomx::CompiledVm< AlignedAllocator< CacheLineSize >, false, false >, randomx::CompiledVm< AlignedAllocator< CacheLineSize >, false, true >, randomx::CompiledVm< AlignedAllocator< CacheLineSize >, true, false >, randomx::CompiledVm< AlignedAllocator< CacheLineSize >, true, true >, randomx::CompiledVm< LargePageAllocator, false, false >, randomx::CompiledVm< LargePageAllocator, false, true >, randomx::CompiledVm< LargePageAllocator, true, false >, randomx::CompiledVm< LargePageAllocator, true, true >, randomx::InterpretedVm< Allocator, softAes >, randomx::InterpretedVm< AlignedAllocator< CacheLineSize >, false >, randomx::InterpretedVm< AlignedAllocator< CacheLineSize >, true >, randomx::InterpretedVm< LargePageAllocator, false >, and randomx::InterpretedVm< LargePageAllocator, true >.
|
inlinevirtual |
Reimplemented in randomx::CompiledLightVm< Allocator, softAes, secureJit >, randomx::CompiledLightVm< AlignedAllocator< CacheLineSize >, false, false >, randomx::CompiledLightVm< AlignedAllocator< CacheLineSize >, false, true >, randomx::CompiledLightVm< AlignedAllocator< CacheLineSize >, true, false >, randomx::CompiledLightVm< AlignedAllocator< CacheLineSize >, true, true >, randomx::CompiledLightVm< LargePageAllocator, false, false >, randomx::CompiledLightVm< LargePageAllocator, false, true >, randomx::CompiledLightVm< LargePageAllocator, true, false >, randomx::CompiledLightVm< LargePageAllocator, true, true >, randomx::InterpretedLightVm< Allocator, softAes >, randomx::InterpretedLightVm< AlignedAllocator< CacheLineSize >, false >, randomx::InterpretedLightVm< AlignedAllocator< CacheLineSize >, true >, randomx::InterpretedLightVm< LargePageAllocator, false >, and randomx::InterpretedLightVm< LargePageAllocator, true >.
|
inlinevirtual |
Reimplemented in randomx::CompiledLightVm< Allocator, softAes, secureJit >, randomx::CompiledLightVm< AlignedAllocator< CacheLineSize >, false, false >, randomx::CompiledLightVm< AlignedAllocator< CacheLineSize >, false, true >, randomx::CompiledLightVm< AlignedAllocator< CacheLineSize >, true, false >, randomx::CompiledLightVm< AlignedAllocator< CacheLineSize >, true, true >, randomx::CompiledLightVm< LargePageAllocator, false, false >, randomx::CompiledLightVm< LargePageAllocator, false, true >, randomx::CompiledLightVm< LargePageAllocator, true, false >, randomx::CompiledLightVm< LargePageAllocator, true, true >, randomx::CompiledVm< Allocator, softAes, secureJit >, randomx::CompiledVm< AlignedAllocator< CacheLineSize >, false, false >, randomx::CompiledVm< AlignedAllocator< CacheLineSize >, false, true >, randomx::CompiledVm< AlignedAllocator< CacheLineSize >, true, false >, randomx::CompiledVm< AlignedAllocator< CacheLineSize >, true, true >, randomx::CompiledVm< LargePageAllocator, false, false >, randomx::CompiledVm< LargePageAllocator, false, true >, randomx::CompiledVm< LargePageAllocator, true, false >, randomx::CompiledVm< LargePageAllocator, true, true >, randomx::InterpretedLightVm< Allocator, softAes >, randomx::InterpretedLightVm< AlignedAllocator< CacheLineSize >, false >, randomx::InterpretedLightVm< AlignedAllocator< CacheLineSize >, true >, randomx::InterpretedLightVm< LargePageAllocator, false >, randomx::InterpretedLightVm< LargePageAllocator, true >, randomx::InterpretedVm< Allocator, softAes >, randomx::InterpretedVm< AlignedAllocator< CacheLineSize >, false >, randomx::InterpretedVm< AlignedAllocator< CacheLineSize >, true >, randomx::InterpretedVm< LargePageAllocator, false >, and randomx::InterpretedVm< LargePageAllocator, true >.
| union { ... } randomx_vm |
| std::string randomx_vm::cacheKey |
| randomx_cache* randomx_vm::cachePtr = nullptr |
|
protected |
|
protected |
| randomx_dataset* randomx_vm::datasetPtr |
|
protected |
|
protected |
|
protected |
|
protected |
| uint64_t randomx_vm::tempHash[8] |