summary refs log tree commit diff stats
path: root/results/scraper/box64/634
diff options
context:
space:
mode:
Diffstat (limited to 'results/scraper/box64/634')
-rw-r--r--results/scraper/box64/6342
1 files changed, 2 insertions, 0 deletions
diff --git a/results/scraper/box64/634 b/results/scraper/box64/634
new file mode 100644
index 000000000..5d6c9ddae
--- /dev/null
+++ b/results/scraper/box64/634
@@ -0,0 +1,2 @@
+[DYNAREC] Introducing differential testing to box64 JIT
+When porting dynarec to RISC-V, @ksco and I found that many long and less frequent x86_64 opcodes are not well tested, so we are unaware of hidden bugs inside. By introducing fuzzing tests like csmith, we have more chance to detect such bugs. But the problem with csmith is that it generates very few 8-bit and 16-bit math operations, so related opcodes are rarely tested. I suggested to use sed to replace `int32_t` with `int8_t`, making gcc produce a bunch of unimplemented opcodes, but this breaks the checksum mechanism of csmith. In order to verify the correctness of JIT implementation, we probably need to compare x86_64 registers between dynarec and the interpreter, side by side, for each translated instruction. With differential testing infrastructure, we can better debug dynarec and find bugs easily and precisely.
\ No newline at end of file