Monero
Loading...
Searching...
No Matches
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