From 6ebec02f05c08fd0d3f90b1ff515ad8f3562ecca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sat, 22 Jun 2024 15:16:27 +0200 Subject: [PATCH] Fix crash in JITIR after disassembly improvement. Fixes #19292 --- Core/MIPS/IR/IRInst.cpp | 3 +++ Core/MIPS/IR/IRRegCache.cpp | 1 + 2 files changed, 4 insertions(+) diff --git a/Core/MIPS/IR/IRInst.cpp b/Core/MIPS/IR/IRInst.cpp index 6c686c85af..3214b627a6 100644 --- a/Core/MIPS/IR/IRInst.cpp +++ b/Core/MIPS/IR/IRInst.cpp @@ -17,6 +17,9 @@ // v = Vec4Init constant, chosen by immediate // s = Shuffle immediate (4 2-bit fields, choosing a xyzw shuffle) // r = Replacement function (in constant field) +// +// WARNING: The IRJit compiler also uses these letters for semantic information! +// So if you add new letters, don't forget to add them to IRNativeRegCacheBase::MappingFromInst. static const IRMeta irMeta[] = { { IROp::Nop, "Nop", "" }, diff --git a/Core/MIPS/IR/IRRegCache.cpp b/Core/MIPS/IR/IRRegCache.cpp index 1af6dbfed0..adc2939303 100644 --- a/Core/MIPS/IR/IRRegCache.cpp +++ b/Core/MIPS/IR/IRRegCache.cpp @@ -911,6 +911,7 @@ void IRNativeRegCacheBase::MappingFromInst(const IRInst &inst, Mapping mapping[3 case '\0': case '_': case 'C': + case 'r': case 'I': case 'v': case 's':