diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-07-03 00:07:14 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-07-03 00:07:14 +0200 |
| commit | 53365241294de8eae2da2edfb6b47f04b02f5808 (patch) | |
| tree | 84207aa9154910518978b28ac0e3f28b72219e27 /src/dynarec/arm64/dynarec_arm64_6664.c | |
| parent | de30d37ba91b093d459365a93ea9cc4418fc502a (diff) | |
| download | box64-53365241294de8eae2da2edfb6b47f04b02f5808.tar.gz box64-53365241294de8eae2da2edfb6b47f04b02f5808.zip | |
[DYNAREC] Add a mecanism to remember fixed address accessed with LOCK, so MOV to/from them use a Memory Barrier automaticaly
Diffstat (limited to 'src/dynarec/arm64/dynarec_arm64_6664.c')
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_6664.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_6664.c b/src/dynarec/arm64/dynarec_arm64_6664.c index 363b99ce..4c5039c5 100644 --- a/src/dynarec/arm64/dynarec_arm64_6664.c +++ b/src/dynarec/arm64/dynarec_arm64_6664.c @@ -62,7 +62,7 @@ uintptr_t dynarec64_6664(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n FMOVD(v1, v0); } else { grab_segdata(dyn, addr, ninst, x4, _FS); - addr = geted(dyn, addr, ninst, nextop, &ed, x1, &fixedaddress, 0, 0, rex, 0, 0); + addr = geted(dyn, addr, ninst, nextop, &ed, x1, &fixedaddress, 0, 0, rex, NULL, 0, 0); VSTR64_REG(v0, ed, x4); } break; @@ -87,7 +87,7 @@ uintptr_t dynarec64_6664(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n } } else { grab_segdata(dyn, addr, ninst, x4, _FS); - addr = geted(dyn, addr, ninst, nextop, &ed, x2, &fixedaddress, 0, 0, rex, 0, 0); + addr = geted(dyn, addr, ninst, nextop, &ed, x2, &fixedaddress, 0, 0, rex, NULL, 0, 0); if(rex.w) { STRx_REG(gd, ed, x4); } else { @@ -111,7 +111,7 @@ uintptr_t dynarec64_6664(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n } } else { // mem <= reg grab_segdata(dyn, addr, ninst, x4, _FS); - addr = geted(dyn, addr, ninst, nextop, &ed, x2, &fixedaddress, 0, 0, rex, 0, 0); + addr = geted(dyn, addr, ninst, nextop, &ed, x2, &fixedaddress, 0, 0, rex, NULL, 0, 0); if(rex.w) { LDRx_REG(gd, ed, x4); } else { |