Monero
Public Member Functions | Protected Member Functions | List of all members
randomx::InterpretedLightVm< Allocator, softAes > Class Template Reference

#include <vm_interpreted_light.hpp>

Inheritance diagram for randomx::InterpretedLightVm< Allocator, softAes >:
Inheritance graph
[legend]
Collaboration diagram for randomx::InterpretedLightVm< Allocator, softAes >:
Collaboration graph
[legend]

Public Member Functions

void * operator new (size_t size)
 
void operator delete (void *ptr)
 
void setDataset (randomx_dataset *dataset) override
 
void setCache (randomx_cache *cache) override
 
- Public Member Functions inherited from randomx::InterpretedVm< Allocator, softAes >
void * operator new (size_t size)
 
void operator delete (void *ptr)
 
void run (void *seed) override
 
- Public Member Functions inherited from randomx::VmBase< Allocator, softAes >
 ~VmBase () override
 
void allocate () override
 
void initScratchpad (void *seed) override
 
void getFinalResult (void *out, size_t outSize) override
 
void hashAndFill (void *out, size_t outSize, uint64_t *fill_state) override
 
- Public Member Functions inherited from randomx_vm
virtual ~randomx_vm ()=0
 
void resetRoundingMode ()
 
randomx::RegisterFilegetRegisterFile ()
 
const void * getScratchpad ()
 
const randomx::ProgramgetProgram ()
 
const uint8_tgetMemory () const
 
- Public Member Functions inherited from randomx::BytecodeMachine
void beginCompilation (NativeRegisterFile &regFile)
 
void compileProgram (Program &program, InstructionByteCode bytecode[RANDOMX_PROGRAM_SIZE], NativeRegisterFile &regFile)
 
void compileInstruction (RANDOMX_GEN_ARGS)
 

Protected Member Functions

void datasetRead (uint64_t address, int_reg_t(&r)[8]) override
 
void datasetPrefetch (uint64_t address) override
 
- Protected Member Functions inherited from randomx::InterpretedVm< Allocator, softAes >
virtual void datasetRead (uint64_t blockNumber, int_reg_t(&r)[RegistersCount])
 
- Protected Member Functions inherited from randomx::VmBase< Allocator, softAes >
void generateProgram (void *seed)
 
- Protected Member Functions inherited from randomx_vm
void initialize ()
 

Additional Inherited Members

- Static Public Member Functions inherited from randomx::BytecodeMachine
static void executeBytecode (InstructionByteCode bytecode[RANDOMX_PROGRAM_SIZE], uint8_t *scratchpad, ProgramConfiguration &config)
 
static void executeInstruction (RANDOMX_EXE_ARGS)
 
static void exe_IADD_RS (RANDOMX_EXE_ARGS)
 
static void exe_IADD_M (RANDOMX_EXE_ARGS)
 
static void exe_ISUB_R (RANDOMX_EXE_ARGS)
 
static void exe_ISUB_M (RANDOMX_EXE_ARGS)
 
static void exe_IMUL_R (RANDOMX_EXE_ARGS)
 
static void exe_IMUL_M (RANDOMX_EXE_ARGS)
 
static void exe_IMULH_R (RANDOMX_EXE_ARGS)
 
static void exe_IMULH_M (RANDOMX_EXE_ARGS)
 
static void exe_ISMULH_R (RANDOMX_EXE_ARGS)
 
static void exe_ISMULH_M (RANDOMX_EXE_ARGS)
 
static void exe_INEG_R (RANDOMX_EXE_ARGS)
 
static void exe_IXOR_R (RANDOMX_EXE_ARGS)
 
static void exe_IXOR_M (RANDOMX_EXE_ARGS)
 
static void exe_IROR_R (RANDOMX_EXE_ARGS)
 
static void exe_IROL_R (RANDOMX_EXE_ARGS)
 
static void exe_ISWAP_R (RANDOMX_EXE_ARGS)
 
static void exe_FSWAP_R (RANDOMX_EXE_ARGS)
 
static void exe_FADD_R (RANDOMX_EXE_ARGS)
 
static void exe_FADD_M (RANDOMX_EXE_ARGS)
 
static void exe_FSUB_R (RANDOMX_EXE_ARGS)
 
static void exe_FSUB_M (RANDOMX_EXE_ARGS)
 
static void exe_FSCAL_R (RANDOMX_EXE_ARGS)
 
static void exe_FMUL_R (RANDOMX_EXE_ARGS)
 
static void exe_FDIV_M (RANDOMX_EXE_ARGS)
 
static void exe_FSQRT_R (RANDOMX_EXE_ARGS)
 
static void exe_CBRANCH (RANDOMX_EXE_ARGS)
 
static void exe_CFROUND (RANDOMX_EXE_ARGS)
 
static void exe_ISTORE (RANDOMX_EXE_ARGS)
 
- Public Attributes inherited from randomx_vm
std::string cacheKey
 
uint64_t tempHash [8]
 
- Static Protected Member Functions inherited from randomx::BytecodeMachine
static rx_vec_f128 maskRegisterExponentMantissa (ProgramConfiguration &config, rx_vec_f128 x)
 
- Protected Attributes inherited from randomx_vm
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
 

Member Function Documentation

◆ datasetPrefetch()

template<class Allocator , bool softAes>
void randomx::InterpretedLightVm< Allocator, softAes >::datasetPrefetch ( uint64_t  address)
inlineoverrideprotectedvirtual

◆ datasetRead()

template<class Allocator , bool softAes>
void randomx::InterpretedLightVm< Allocator, softAes >::datasetRead ( uint64_t  address,
int_reg_t(&)  r[8] 
)
overrideprotected

◆ operator delete()

template<class Allocator , bool softAes>
void randomx::InterpretedLightVm< Allocator, softAes >::operator delete ( void *  ptr)
inline

◆ operator new()

template<class Allocator , bool softAes>
void* randomx::InterpretedLightVm< Allocator, softAes >::operator new ( size_t  size)
inline

◆ setCache()

template<class Allocator , bool softAes>
void randomx::InterpretedLightVm< Allocator, softAes >::setCache ( randomx_cache cache)
overridevirtual

Reimplemented from randomx_vm.

◆ setDataset()

template<class Allocator , bool softAes>
void randomx::InterpretedLightVm< Allocator, softAes >::setDataset ( randomx_dataset dataset)
inlineoverridevirtual

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