From 33604834c20c683648d4cbe8f2a24556b2e0d736 Mon Sep 17 00:00:00 2001 From: Andy Ayers Date: Fri, 27 Mar 2026 07:57:58 -0700 Subject: [PATCH] [Wasm RyuJit] Track stackifier temps by actual jit type Mainly so we can distinguish GC types from non-GC types. Fixes an issue in #125756 --- src/coreclr/jit/lowerwasm.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/coreclr/jit/lowerwasm.cpp b/src/coreclr/jit/lowerwasm.cpp index 794dd9a6d70439..aaafcbfc4729bd 100644 --- a/src/coreclr/jit/lowerwasm.cpp +++ b/src/coreclr/jit/lowerwasm.cpp @@ -490,9 +490,9 @@ void Lowering::AfterLowerBlocks() Compiler* m_compiler; ArrayStack m_stack; unsigned m_minimumTempLclNum; - Temporary* m_availableTemps[static_cast(WasmValueType::Count)] = {}; - Temporary* m_unusedTempNodes = nullptr; - bool m_anyChanges = false; + Temporary* m_availableTemps[TYP_COUNT] = {}; + Temporary* m_unusedTempNodes = nullptr; + bool m_anyChanges = false; public: Stackifier(Lowering* lower) @@ -638,7 +638,7 @@ void Lowering::AfterLowerBlocks() assert(varTypeIsEnregisterable(type)); unsigned lclNum; - Temporary* local = Remove(&m_availableTemps[static_cast(ActualTypeToWasmValueType(type))]); + Temporary* local = Remove(&m_availableTemps[genActualType(type)]); if (local != nullptr) { lclNum = local->LclNum; @@ -682,7 +682,7 @@ void Lowering::AfterLowerBlocks() local->LclNum = lclNum; JITDUMP("Temporary V%02u is now free and can be re-used\n", lclNum); - Append(&m_availableTemps[static_cast(ActualTypeToWasmValueType(node->TypeGet()))], local); + Append(&m_availableTemps[genActualType(node->TypeGet())], local); } Temporary* Remove(Temporary** pTemps)