summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2008-06-24 04:46:15 +0000
committer Aaron Giles <aaron@aarongiles.com>2008-06-24 04:46:15 +0000
commit2be66a245ca0bd2e3990a1d997674ddc8b921bf1 (patch)
tree4238d4058c605fa997afb0643100349516da31d1 /src
parent6f4b3add14a2a05a85fef910f6895c32a26610e6 (diff)
Fixed WRITEM opcode on 64-bit to call through memory instead of directly.
Diffstat (limited to 'src')
-rw-r--r--src/emu/cpu/drcbex64.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/emu/cpu/drcbex64.c b/src/emu/cpu/drcbex64.c
index b153f0767c3..f0de44c2935 100644
--- a/src/emu/cpu/drcbex64.c
+++ b/src/emu/cpu/drcbex64.c
@@ -4230,13 +4230,13 @@ static x86code *op_writem(drcbe_state *drcbe, x86code *dst, const drcuml_instruc
emit_mov_r64_p64(drcbe, &dst, REG_PARAM3, &maskp); // mov param3,maskp
}
if ((spacesizep.value & 3) == DRCUML_SIZE_WORD)
- emit_call(&dst, (x86code *)drcbe->accessors[spacesizep.value / 16].write_word_masked);
+ emit_smart_call_m64(drcbe, &dst, (x86code **)&drcbe->accessors[spacesizep.value / 16].write_word_masked);
// call write_word_masked
else if ((spacesizep.value & 3) == DRCUML_SIZE_DWORD)
- emit_call(&dst, (x86code *)drcbe->accessors[spacesizep.value / 16].write_dword_masked);
+ emit_smart_call_m64(drcbe, &dst, (x86code **)&drcbe->accessors[spacesizep.value / 16].write_dword_masked);
// call write_dword_masked
else if ((spacesizep.value & 3) == DRCUML_SIZE_QWORD)
- emit_call(&dst, (x86code *)drcbe->accessors[spacesizep.value / 16].write_qword_masked);
+ emit_smart_call_m64(drcbe, &dst, (x86code **)&drcbe->accessors[spacesizep.value / 16].write_qword_masked);
// call write_qword_masked
return dst;
}