Placeholders for memory access breakpoints.

This commit is contained in:
Ben Vanik 2013-09-25 20:13:43 -07:00
parent 3706b9a3ce
commit 3e0d9af57e
1 changed files with 17 additions and 0 deletions

View File

@ -633,6 +633,7 @@ void X64Emitter::GenerateBasicBlock(FunctionBlock* block) {
ia, i.code, i.type->name); ia, i.code, i.type->name);
TraceInvalidInstruction(i); TraceInvalidInstruction(i);
} }
}
// If we fall through, create the branch. // If we fall through, create the branch.
if (block->outgoing_type == FunctionBlock::kTargetNone) { if (block->outgoing_type == FunctionBlock::kTargetNone) {
@ -1642,6 +1643,14 @@ GpVar X64Emitter::ReadMemory(
uint32_t cia, GpVar& addr, uint32_t size, bool acquire) { uint32_t cia, GpVar& addr, uint32_t size, bool acquire) {
X86Compiler& c = compiler_; X86Compiler& c = compiler_;
#if 0
Label no_match(c.newLabel());
c.cmp(addr, imm(0x21004220));
c.jne(no_match, kCondHintLikely);
c.int3();
c.bind(no_match);
#endif
// Rebase off of memory base pointer. // Rebase off of memory base pointer.
GpVar real_address = TouchMemoryAddress(cia, addr); GpVar real_address = TouchMemoryAddress(cia, addr);
@ -1688,6 +1697,14 @@ void X64Emitter::WriteMemory(
bool release) { bool release) {
X86Compiler& c = compiler_; X86Compiler& c = compiler_;
#if 0
Label no_match(c.newLabel());
c.cmp(addr, imm(0x21004220));
c.jne(no_match, kCondHintLikely);
c.int3();
c.bind(no_match);
#endif
// Rebase off of memory base pointer. // Rebase off of memory base pointer.
GpVar real_address = TouchMemoryAddress(cia, addr); GpVar real_address = TouchMemoryAddress(cia, addr);