Placeholders for memory access breakpoints.
This commit is contained in:
@@ -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);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user