From 65288d57962e3ad6bd827bdf1bd4d8a5587e897f Mon Sep 17 00:00:00 2001 From: Wunkolo Date: Sat, 4 May 2024 16:12:48 -0700 Subject: [PATCH] [a64] Fix resetting of labels during Emplace On the x64 side, this is the same as the `reset()` function resetting the label-manager --- src/xenia/cpu/backend/a64/a64_emitter.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xenia/cpu/backend/a64/a64_emitter.cc b/src/xenia/cpu/backend/a64/a64_emitter.cc index 513a489ad..1f84a0e8f 100644 --- a/src/xenia/cpu/backend/a64/a64_emitter.cc +++ b/src/xenia/cpu/backend/a64/a64_emitter.cc @@ -163,7 +163,9 @@ void* A64Emitter::Emplace(const EmitFunctionInfo& func_info, // top_ = old_address; set_wptr(reinterpret_cast(old_address)); + // reset(); + label_lookup_.clear(); return new_execute_address; } @@ -399,7 +401,6 @@ void A64Emitter::Trap(uint16_t trap_type) { break; default: XELOGW("Unknown trap type {}", trap_type); - // db(0xCC); BRK(0xF000); break; } @@ -407,7 +408,6 @@ void A64Emitter::Trap(uint16_t trap_type) { void A64Emitter::UnimplementedInstr(const hir::Instr* i) { // TODO(benvanik): notify debugger. - // db(0xCC); BRK(0xF000); assert_always(); }