Monero
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs | Functions | Variables
common.hpp File Reference
#include <cstdint>
#include <iostream>
#include <climits>
#include "blake2/endian.h"
#include "configuration.h"
#include "randomx.h"
Include dependency graph for common.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  randomx::fpu_reg_t
 
struct  randomx::MemoryRegisters
 
struct  randomx::RegisterFile
 

Namespaces

namespace  randomx
 

Macros

#define UNREACHABLE
 
#define RANDOMX_HAVE_COMPILER   0
 

Typedefs

using randomx::JitCompiler = JitCompilerFallback
 
using randomx::addr_t = uint32_t
 
using randomx::int_reg_t = uint64_t
 
typedef void randomx::ProgramFunc(RegisterFile &, MemoryRegisters &, uint8_t *, uint64_t)
 
typedef void randomx::DatasetInitFunc(randomx_cache *cache, uint8_t *dataset, uint32_t startBlock, uint32_t endBlock)
 
typedef void randomx::DatasetDeallocFunc(randomx_dataset *)
 
typedef void randomx::CacheDeallocFunc(randomx_cache *)
 
typedef void randomx::CacheInitializeFunc(randomx_cache *, const void *, size_t)
 

Functions

bool randomx::isZeroOrPowerOf2 (uint64_t x)
 

Variables

constexpr int randomx::wtSum
 
constexpr uint32_t randomx::ArgonBlockSize = 1024
 
constexpr int randomx::ArgonSaltSize = sizeof("" RANDOMX_ARGON_SALT) - 1
 
constexpr int randomx::SuperscalarMaxSize = 3 * RANDOMX_SUPERSCALAR_LATENCY + 2
 
constexpr size_t randomx::CacheLineSize = RANDOMX_DATASET_ITEM_SIZE
 
constexpr int randomx::ScratchpadSize = RANDOMX_SCRATCHPAD_L3
 
constexpr uint32_t randomx::CacheLineAlignMask = (RANDOMX_DATASET_BASE_SIZE - 1) & ~(CacheLineSize - 1)
 
constexpr uint32_t randomx::CacheSize = RANDOMX_ARGON_MEMORY * ArgonBlockSize
 
constexpr uint64_t randomx::DatasetSize = RANDOMX_DATASET_BASE_SIZE + RANDOMX_DATASET_EXTRA_SIZE
 
constexpr uint32_t randomx::DatasetExtraItems = RANDOMX_DATASET_EXTRA_SIZE / RANDOMX_DATASET_ITEM_SIZE
 
constexpr uint32_t randomx::ConditionMask = ((1 << RANDOMX_JUMP_BITS) - 1)
 
constexpr int randomx::ConditionOffset = RANDOMX_JUMP_OFFSET
 
constexpr int randomx::StoreL3Condition = 14
 
constexpr bool randomx::trace = false
 
constexpr uint32_t randomx::ScratchpadL1 = RANDOMX_SCRATCHPAD_L1 / sizeof(int_reg_t)
 
constexpr uint32_t randomx::ScratchpadL2 = RANDOMX_SCRATCHPAD_L2 / sizeof(int_reg_t)
 
constexpr uint32_t randomx::ScratchpadL3 = RANDOMX_SCRATCHPAD_L3 / sizeof(int_reg_t)
 
constexpr int randomx::ScratchpadL1Mask = (ScratchpadL1 - 1) * 8
 
constexpr int randomx::ScratchpadL2Mask = (ScratchpadL2 - 1) * 8
 
constexpr int randomx::ScratchpadL1Mask16 = (ScratchpadL1 / 2 - 1) * 16
 
constexpr int randomx::ScratchpadL2Mask16 = (ScratchpadL2 / 2 - 1) * 16
 
constexpr int randomx::ScratchpadL3Mask = (ScratchpadL3 - 1) * 8
 
constexpr int randomx::ScratchpadL3Mask64 = (ScratchpadL3 / 8 - 1) * 64
 
constexpr int randomx::RegistersCount = 8
 
constexpr int randomx::RegisterCountFlt = RegistersCount / 2
 
constexpr int randomx::RegisterNeedsDisplacement = 5
 
constexpr int randomx::RegisterNeedsSib = 4
 
constexpr int randomx::mantissaSize = 52
 
constexpr int randomx::exponentSize = 11
 
constexpr uint64_t randomx::mantissaMask = (1ULL << mantissaSize) - 1
 
constexpr uint64_t randomx::exponentMask = (1ULL << exponentSize) - 1
 
constexpr int randomx::exponentBias = 1023
 
constexpr int randomx::dynamicExponentBits = 4
 
constexpr int randomx::staticExponentBits = 4
 
constexpr uint64_t randomx::constExponentBits = 0x300
 
constexpr uint64_t randomx::dynamicMantissaMask = (1ULL << (mantissaSize + dynamicExponentBits)) - 1
 

Macro Definition Documentation

◆ RANDOMX_HAVE_COMPILER

#define RANDOMX_HAVE_COMPILER   0

◆ UNREACHABLE

#define UNREACHABLE