about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2024-09-12 20:14:54 +0800
committerGitHub <noreply@github.com>2024-09-12 14:14:54 +0200
commit431365d1f8b9b5c022a48b554ccb647eaac674a1 (patch)
tree0b15bd0a84afda00303cb4c4ecc9b328967047dd /src
parent693b4adb4b814eb72fc02f6a21afe5139bd0ebff (diff)
downloadbox64-431365d1f8b9b5c022a48b554ccb647eaac674a1.tar.gz
box64-431365d1f8b9b5c022a48b554ccb647eaac674a1.zip
[RV64_DYNAREC] Fixed a typo on vector_sew initialization (#1819)
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/dynarec_native_pass.c2
-rw-r--r--src/dynarec/rv64/dynarec_rv64_pass0.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/dynarec/dynarec_native_pass.c b/src/dynarec/dynarec_native_pass.c
index 24528fa1..6c4ba1f5 100644
--- a/src/dynarec/dynarec_native_pass.c
+++ b/src/dynarec/dynarec_native_pass.c
@@ -55,7 +55,7 @@ uintptr_t native_pass(dynarec_native_t* dyn, uintptr_t addr, int alternate, int
     #endif
     fpu_reset(dyn);
     ARCH_INIT();
-    int reset_n = -1;
+    int reset_n = -1; // -1 no reset; -2 reset to 0; else reset to the state of reset_n
     dyn->last_ip = (alternate || (dyn->insts && dyn->insts[0].pred_sz))?0:ip;  // RIP is always set at start of block unless there is a predecessor!
     int stopblock = 2+(FindElfAddress(my_context, addr)?0:1); // if block is in elf_memory, it can be extended with box64_dynarec_bigblock==2, else it needs 3
     // ok, go now
diff --git a/src/dynarec/rv64/dynarec_rv64_pass0.h b/src/dynarec/rv64/dynarec_rv64_pass0.h
index 782dae0b..9a84ab5b 100644
--- a/src/dynarec/rv64/dynarec_rv64_pass0.h
+++ b/src/dynarec/rv64/dynarec_rv64_pass0.h
@@ -29,7 +29,7 @@
     for (int i = 0; i < 16; ++i)                                                   \
         dyn->e.olds[i].v = 0;                                                      \
     dyn->insts[ninst].f_entry = dyn->f;                                            \
-    if (reset_n != -1)                                                             \
+    if (reset_n == -1)                                                             \
         dyn->vector_sew = ninst ? dyn->insts[ninst - 1].vector_sew : VECTOR_SEWNA; \
     if (ninst)                                                                     \
         dyn->insts[ninst - 1].x64.size = dyn->insts[ninst].x64.addr - dyn->insts[ninst - 1].x64.addr;