39 struct ProgramConfiguration;
40 class SuperscalarProgram;
static InstructionGeneratorX86 engine[256]
Definition: jit_compiler_x86.hpp:69
Definition: allocator.cpp:35
void h_FSUB_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:725
void h_INEG_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:631
void() ProgramFunc(RegisterFile &, MemoryRegisters &, uint8_t *, uint64_t)
Definition: common.hpp:188
void() DatasetInitFunc(randomx_cache *cache, uint8_t *dataset, uint32_t startBlock, uint32_t endBlock)
Definition: common.hpp:189
void h_IMUL_RCP(Instruction &, int)
Definition: jit_compiler_x86.cpp:620
int * count
Definition: gmock_stress_test.cc:176
void enableWriting()
Definition: jit_compiler_x86.cpp:242
void h_FDIV_M(Instruction &, int)
Definition: jit_compiler_x86.cpp:753
void h_IADD_M(Instruction &, int)
Definition: jit_compiler_x86.cpp:487
void h_IROR_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:665
Definition: instruction.hpp:75
void generateProgramLight(Program &, ProgramConfiguration &, uint32_t)
Definition: jit_compiler_x86.cpp:257
Definition: superscalar_program.hpp:37
void h_CBRANCH(Instruction &, int)
Definition: jit_compiler_x86.cpp:779
void h_IMULH_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:562
void generateDatasetInitCode()
Definition: jit_compiler_x86.cpp:300
void h_FSWAP_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:704
void h_CFROUND(Instruction &, int)
Definition: jit_compiler_x86.cpp:768
void h_IADD_RS(Instruction &, int)
Definition: jit_compiler_x86.cpp:475
unsigned char uint8_t
Definition: stdint.h:124
void generateProgram(Program &, ProgramConfiguration &)
Definition: jit_compiler_x86.cpp:250
void h_FADD_M(Instruction &, int)
Definition: jit_compiler_x86.cpp:717
void emit(const uint8_t(&src)[N])
Definition: jit_compiler_x86.hpp:101
void genSIB(int scale, int index, int base)
Definition: jit_compiler_x86.cpp:502
Definition: jit_compiler_x86.hpp:46
void h_FMUL_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:746
void genAddressRegDst(Instruction &)
Definition: jit_compiler_x86.cpp:455
void h_ISMULH_M(Instruction &, int)
Definition: jit_compiler_x86.cpp:601
void h_ISMULH_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:591
size_t getCodeSize()
Definition: jit_compiler_x86.cpp:222
Definition: program.hpp:39
~JitCompilerX86()
Definition: jit_compiler_x86.cpp:234
void enableAll()
Definition: jit_compiler_x86.cpp:238
void generateSuperscalarCode(Instruction &, std::vector< uint64_t > &)
Definition: jit_compiler_x86.cpp:347
void emitByte(uint8_t val)
Definition: jit_compiler_x86.hpp:85
void generateSuperscalarHash(SuperscalarProgram(&programs)[N], std::vector< uint64_t > &)
Definition: jit_compiler_x86.cpp:269
unsigned int uint32_t
Definition: stdint.h:126
ProgramFunc * getProgramFunc()
Definition: jit_compiler_x86.hpp:55
void h_IMUL_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:534
uint8_t * code
Definition: jit_compiler_x86.hpp:72
Definition: program.hpp:44
int
Definition: pymoduletest.py:17
unsigned __int64 uint64_t
Definition: stdint.h:136
void generateProgramEpilogue(Program &, ProgramConfiguration &)
Definition: jit_compiler_x86.cpp:326
void generateCode(Instruction &, int)
Definition: jit_compiler_x86.cpp:341
void h_FSUB_M(Instruction &, int)
Definition: jit_compiler_x86.cpp:732
void enableExecution()
Definition: jit_compiler_x86.cpp:246
JitCompilerX86()
Definition: jit_compiler_x86.cpp:226
void h_NOP(Instruction &, int)
Definition: jit_compiler_x86.cpp:807
uint8_t * getCode()
Definition: jit_compiler_x86.hpp:61
void h_IMUL_M(Instruction &, int)
Definition: jit_compiler_x86.cpp:547
int32_t codePos
Definition: jit_compiler_x86.hpp:73
void(JitCompilerX86::* InstructionGeneratorX86)(Instruction &, int)
Definition: jit_compiler_x86.hpp:44
DatasetInitFunc * getDatasetInitFunc()
Definition: jit_compiler_x86.hpp:58
void h_FADD_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:710
void emit(const uint8_t *src, size_t count)
Definition: jit_compiler_x86.hpp:105
void * memcpy(void *a, const void *b, size_t c)
Definition: glibc_compat.cpp:16
constexpr int RegistersCount
Definition: common.hpp:156
void h_IXOR_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:637
void generateProgramPrologue(Program &, ProgramConfiguration &)
Definition: jit_compiler_x86.cpp:304
int registerUsage[RegistersCount]
Definition: jit_compiler_x86.hpp:71
void h_ISWAP_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:695
void emit32(uint32_t val)
Definition: jit_compiler_x86.hpp:90
std::vector< int32_t > instructionOffsets
Definition: jit_compiler_x86.hpp:70
signed int int32_t
Definition: stdint.h:123
void genAddressReg(Instruction &, bool)
Definition: jit_compiler_x86.cpp:441
void h_FSCAL_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:740
void h_ISUB_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:506
void h_IROL_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:680
void emit64(uint64_t val)
Definition: jit_compiler_x86.hpp:95
void genAddressImm(Instruction &)
Definition: jit_compiler_x86.cpp:471
void h_ISTORE(Instruction &, int)
Definition: jit_compiler_x86.cpp:800
void h_ISUB_M(Instruction &, int)
Definition: jit_compiler_x86.cpp:519
void h_FSQRT_R(Instruction &, int)
Definition: jit_compiler_x86.cpp:762
void h_IXOR_M(Instruction &, int)
Definition: jit_compiler_x86.cpp:650
void h_IMULH_M(Instruction &, int)
Definition: jit_compiler_x86.cpp:572