diff --git a/src/backend/A64/a32_emit_a64.cpp b/src/backend/A64/a32_emit_a64.cpp index 4fedeede..192f0838 100644 --- a/src/backend/A64/a32_emit_a64.cpp +++ b/src/backend/A64/a32_emit_a64.cpp @@ -1584,6 +1584,9 @@ void A32EmitA64::EmitPatchMovX0(CodePtr target_code_ptr) { void A32EmitA64::Unpatch(const IR::LocationDescriptor& location) { EmitA64::Unpatch(location); if (config.enable_fast_dispatch) { + code.DisableWriting(); + SCOPE_EXIT { code.EnableWriting(); }; + (*fast_dispatch_table_lookup)(location.Value()) = {}; } }