Light JIT compiler - Linux

This commit is contained in:
tevador
2019-03-22 11:00:21 +01:00
parent 73a11f5c01
commit 28ed776fbe
3 changed files with 23 additions and 158 deletions
+11
View File
@@ -31,8 +31,10 @@
.global DECL(randomx_program_loop_load)
.global DECL(randomx_program_start)
.global DECL(randomx_program_read_dataset)
.global DECL(randomx_program_read_dataset_light)
.global DECL(randomx_program_loop_store)
.global DECL(randomx_program_loop_end)
.global DECL(randomx_program_read_dataset_light_sub)
.global DECL(randomx_program_epilogue)
.global DECL(randomx_program_end)
@@ -58,12 +60,21 @@ DECL(randomx_program_start):
DECL(randomx_program_read_dataset):
#include "asm/program_read_dataset.inc"
DECL(randomx_program_read_dataset_light):
#include "asm/program_read_dataset_light.inc"
DECL(randomx_program_loop_store):
#include "asm/program_loop_store.inc"
DECL(randomx_program_loop_end):
nop
.balign 64
DECL(randomx_program_read_dataset_light_sub):
#include "asm/program_read_dataset_light_sub.inc"
squareHashSub:
#include "asm/squareHash.inc"
.balign 64
DECL(randomx_program_epilogue):
#include "asm/program_epilogue_linux.inc"
-154
View File
@@ -1,154 +0,0 @@
;# 90 address transformations
;# forced REX prefix is used to make all transformations 4 bytes long
lea eax, [rax+rax*8+109]
db 64
xor eax, 96
lea eax, [rax+rax*8-19]
db 64
add eax, -98
db 64
add eax, -21
db 64
xor eax, -80
lea eax, [rax+rax*8-92]
db 64
add eax, 113
lea eax, [rax+rax*8+100]
db 64
add eax, -39
db 64
xor eax, 120
lea eax, [rax+rax*8-119]
db 64
add eax, -113
db 64
add eax, 111
db 64
xor eax, 104
lea eax, [rax+rax*8-83]
lea eax, [rax+rax*8+127]
db 64
xor eax, -112
db 64
add eax, 89
db 64
add eax, -32
db 64
add eax, 104
db 64
xor eax, -120
db 64
xor eax, 24
lea eax, [rax+rax*8+9]
db 64
add eax, -31
db 64
xor eax, -16
db 64
add eax, 68
lea eax, [rax+rax*8-110]
db 64
xor eax, 64
db 64
xor eax, -40
db 64
xor eax, -8
db 64
add eax, -10
db 64
xor eax, -32
db 64
add eax, 14
lea eax, [rax+rax*8-46]
db 64
xor eax, -104
lea eax, [rax+rax*8+36]
db 64
add eax, 100
lea eax, [rax+rax*8-65]
lea eax, [rax+rax*8+27]
lea eax, [rax+rax*8+91]
db 64
add eax, -101
db 64
add eax, -94
lea eax, [rax+rax*8-10]
db 64
xor eax, 80
db 64
add eax, -108
db 64
add eax, -58
db 64
xor eax, 48
lea eax, [rax+rax*8+73]
db 64
xor eax, -48
db 64
xor eax, 32
db 64
xor eax, -96
db 64
add eax, 118
db 64
add eax, 91
lea eax, [rax+rax*8+18]
db 64
add eax, -11
lea eax, [rax+rax*8+63]
db 64
add eax, 114
lea eax, [rax+rax*8+45]
db 64
add eax, -67
db 64
add eax, 53
lea eax, [rax+rax*8-101]
lea eax, [rax+rax*8-1]
db 64
xor eax, 16
lea eax, [rax+rax*8-37]
lea eax, [rax+rax*8-28]
lea eax, [rax+rax*8-55]
db 64
xor eax, -88
db 64
xor eax, -72
db 64
add eax, 36
db 64
xor eax, -56
db 64
add eax, 116
db 64
xor eax, 88
db 64
xor eax, -128
db 64
add eax, 50
db 64
add eax, 105
db 64
add eax, -37
db 64
xor eax, 112
db 64
xor eax, 8
db 64
xor eax, -24
lea eax, [rax+rax*8+118]
db 64
xor eax, 72
db 64
xor eax, -64
db 64
add eax, 40
lea eax, [rax+rax*8-74]
lea eax, [rax+rax*8+82]
lea eax, [rax+rax*8+54]
db 64
xor eax, 56
db 64
xor eax, 40
db 64
add eax, 87