From c10747e1ea8dc46aaebf59c1f0567b04d3310d9d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 8 Oct 2024 18:23:00 +0100 Subject: [PATCH] mantis 9166: restore heapUsedFieldInfo also on method exit via state statement --- OpenSim/Region/ScriptEngine/YEngine/MMRScriptCodeGen.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/OpenSim/Region/ScriptEngine/YEngine/MMRScriptCodeGen.cs b/OpenSim/Region/ScriptEngine/YEngine/MMRScriptCodeGen.cs index 1a21a9572e..1e5cadce7a 100644 --- a/OpenSim/Region/ScriptEngine/YEngine/MMRScriptCodeGen.cs +++ b/OpenSim/Region/ScriptEngine/YEngine/MMRScriptCodeGen.cs @@ -2516,6 +2516,13 @@ namespace OpenSim.Region.ScriptEngine.Yengine } else { + if (curDeclFunc.fullName != "$globalvarinit()") + { + PushXMRInst(); + ilGen.Emit(curDeclFunc, OpCodes.Ldloc, curHeapSize); + ilGen.Emit(curDeclFunc, OpCodes.Stfld, heapUsedFieldInfo); + } + ilGen.Emit(stateStmt, OpCodes.Ldc_I4, index); // new state's index ilGen.Emit(stateStmt, OpCodes.Newobj, scriptChangeStateExceptionConstructorInfo); }