Monero
Loading...
Searching...
No Matches
bytecode_machine.hpp File Reference
#include "common.hpp"
#include "intrin_portable.h"
#include "instruction.hpp"
#include "program.hpp"
Include dependency graph for bytecode_machine.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  randomx::NativeRegisterFile
struct  randomx::InstructionByteCode
class  randomx::BytecodeMachine

Namespaces

namespace  randomx

Macros

#define OPCODE_CEIL_DECLARE(curr, prev)
#define RANDOMX_EXE_ARGS   InstructionByteCode& ibc, int& pc, uint8_t* scratchpad, ProgramConfiguration& config
#define RANDOMX_GEN_ARGS   Instruction& instr, int i, InstructionByteCode& ibc

Typedefs

typedef void(BytecodeMachine::* randomx::InstructionGenBytecode) (RANDOMX_GEN_ARGS)

Functions

 randomx::OPCODE_CEIL_DECLARE (IADD_RS, NULL)
 randomx::OPCODE_CEIL_DECLARE (IADD_M, IADD_RS)
 randomx::OPCODE_CEIL_DECLARE (ISUB_R, IADD_M)
 randomx::OPCODE_CEIL_DECLARE (ISUB_M, ISUB_R)
 randomx::OPCODE_CEIL_DECLARE (IMUL_R, ISUB_M)
 randomx::OPCODE_CEIL_DECLARE (IMUL_M, IMUL_R)
 randomx::OPCODE_CEIL_DECLARE (IMULH_R, IMUL_M)
 randomx::OPCODE_CEIL_DECLARE (IMULH_M, IMULH_R)
 randomx::OPCODE_CEIL_DECLARE (ISMULH_R, IMULH_M)
 randomx::OPCODE_CEIL_DECLARE (ISMULH_M, ISMULH_R)
 randomx::OPCODE_CEIL_DECLARE (IMUL_RCP, ISMULH_M)
 randomx::OPCODE_CEIL_DECLARE (INEG_R, IMUL_RCP)
 randomx::OPCODE_CEIL_DECLARE (IXOR_R, INEG_R)
 randomx::OPCODE_CEIL_DECLARE (IXOR_M, IXOR_R)
 randomx::OPCODE_CEIL_DECLARE (IROR_R, IXOR_M)
 randomx::OPCODE_CEIL_DECLARE (IROL_R, IROR_R)
 randomx::OPCODE_CEIL_DECLARE (ISWAP_R, IROL_R)
 randomx::OPCODE_CEIL_DECLARE (FSWAP_R, ISWAP_R)
 randomx::OPCODE_CEIL_DECLARE (FADD_R, FSWAP_R)
 randomx::OPCODE_CEIL_DECLARE (FADD_M, FADD_R)
 randomx::OPCODE_CEIL_DECLARE (FSUB_R, FADD_M)
 randomx::OPCODE_CEIL_DECLARE (FSUB_M, FSUB_R)
 randomx::OPCODE_CEIL_DECLARE (FSCAL_R, FSUB_M)
 randomx::OPCODE_CEIL_DECLARE (FMUL_R, FSCAL_R)
 randomx::OPCODE_CEIL_DECLARE (FDIV_M, FMUL_R)
 randomx::OPCODE_CEIL_DECLARE (FSQRT_R, FDIV_M)
 randomx::OPCODE_CEIL_DECLARE (CBRANCH, FSQRT_R)
 randomx::OPCODE_CEIL_DECLARE (CFROUND, CBRANCH)
 randomx::OPCODE_CEIL_DECLARE (ISTORE, CFROUND)
 randomx::OPCODE_CEIL_DECLARE (NOP, ISTORE)

Variables

constexpr int randomx::ceil_NULL = 0

Macro Definition Documentation

◆ OPCODE_CEIL_DECLARE

#define OPCODE_CEIL_DECLARE ( curr,
prev )
Value:
constexpr int ceil_ ## curr = ceil_ ## prev + RANDOMX_FREQ_ ## curr;

◆ RANDOMX_EXE_ARGS

#define RANDOMX_EXE_ARGS   InstructionByteCode& ibc, int& pc, uint8_t* scratchpad, ProgramConfiguration& config

◆ RANDOMX_GEN_ARGS

#define RANDOMX_GEN_ARGS   Instruction& instr, int i, InstructionByteCode& ibc