diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-02-17 20:12:37 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-02-17 20:12:50 +0100 |
| commit | 4314ef1ca8717321a649b42f21ddd4a7ce951e60 (patch) | |
| tree | fd636af41be9d4c15a3c484d19e843b307f77a90 /src | |
| parent | 477e531af9497616d3dac31af0263692e8c43ba3 (diff) | |
| download | box64-4314ef1ca8717321a649b42f21ddd4a7ce951e60.tar.gz box64-4314ef1ca8717321a649b42f21ddd4a7ce951e60.zip | |
[DYNAREC] Adjusted the PUSH/POP x87 macro (and fix RV64 test infinite loop)
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_helper.h | 3 | ||||
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_helper.h | 6 |
2 files changed, 3 insertions, 6 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_helper.h b/src/dynarec/arm64/dynarec_arm64_helper.h index b779a337..f2654aa4 100644 --- a/src/dynarec/arm64/dynarec_arm64_helper.h +++ b/src/dynarec/arm64/dynarec_arm64_helper.h @@ -800,7 +800,6 @@ #define X87_PUSH_OR_FAIL(var, dyn, ninst, scratch, t) \ if (dyn->n.x87stack == +8) { \ if(box64_dynarec_dump) dynarec_log(LOG_INFO, " Warning, suspicious x87 Push, stack=%d on inst %d\n", dyn->n.x87stack, ninst); \ - DEFAULT; \ dyn->abort = 1; \ return addr; \ } \ @@ -809,7 +808,6 @@ #define X87_PUSH_EMPTY_OR_FAIL(dyn, ninst, scratch) \ if (dyn->n.x87stack == +8) { \ if(box64_dynarec_dump) dynarec_log(LOG_INFO, " Warning, suspicious x87 Push, stack=%d on inst %d\n", dyn->n.x87stack, ninst); \ - DEFAULT; \ dyn->abort = 1; \ return addr; \ } \ @@ -818,7 +816,6 @@ #define X87_POP_OR_FAIL(dyn, ninst, scratch) \ if (dyn->n.x87stack == -8) { \ if(box64_dynarec_dump) dynarec_log(LOG_INFO, " Warning, suspicious x87 Pop, stack=%d on inst %d\n", dyn->n.x87stack, ninst); \ - DEFAULT; \ dyn->abort = 1; \ return addr; \ } \ diff --git a/src/dynarec/rv64/dynarec_rv64_helper.h b/src/dynarec/rv64/dynarec_rv64_helper.h index 6412bbbe..85ffd5e3 100644 --- a/src/dynarec/rv64/dynarec_rv64_helper.h +++ b/src/dynarec/rv64/dynarec_rv64_helper.h @@ -890,7 +890,7 @@ #define X87_PUSH_OR_FAIL(var, dyn, ninst, scratch, t) \ if (dyn->e.stack == +8) { \ if(box64_dynarec_dump) dynarec_log(LOG_INFO, " Warning, suspicious x87 Push, stack=%d on inst %d\n", dyn->e.x87stack, ninst); \ - DEFAULT; \ + dyn->abort = 1; \ return addr; \ } \ var = x87_do_push(dyn, ninst, scratch, t); @@ -898,7 +898,7 @@ #define X87_PUSH_EMPTY_OR_FAIL(dyn, ninst, scratch) \ if (dyn->e.stack == +8) { \ if(box64_dynarec_dump) dynarec_log(LOG_INFO, " Warning, suspicious x87 Push, stack=%d on inst %d\n", dyn->e.x87stack, ninst); \ - DEFAULT; \ + dyn->abort = 1; \ return addr; \ } \ x87_do_push_empty(dyn, ninst, scratch); @@ -906,7 +906,7 @@ #define X87_POP_OR_FAIL(dyn, ninst, scratch) \ if (dyn->e.stack == -8) { \ if(box64_dynarec_dump) dynarec_log(LOG_INFO, " Warning, suspicious x87 Pop, stack=%d on inst %d\n", dyn->e.x87stack, ninst); \ - DEFAULT; \ + dyn->abort = 1; \ return addr; \ } \ x87_do_pop(dyn, ninst, scratch); |