From 2fa5d10c00d09f48dadc1a43a9ff191389e8d4d1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 16 Apr 2019 00:07:13 +0100 Subject: [PATCH] Ynegine: add some missing memory usage on script reset --- .../ScriptEngine/YEngine/XMRInstAbstract.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/YEngine/XMRInstAbstract.cs b/OpenSim/Region/ScriptEngine/YEngine/XMRInstAbstract.cs index f21116efa8..65bdf51119 100644 --- a/OpenSim/Region/ScriptEngine/YEngine/XMRInstAbstract.cs +++ b/OpenSim/Region/ScriptEngine/YEngine/XMRInstAbstract.cs @@ -86,7 +86,7 @@ namespace OpenSim.Region.ScriptEngine.Yengine public void Clear() { - heapUse = 0; + int newheapUse = 0; if(iarArrays != null) { foreach(XMR_Array xa in iarArrays) @@ -100,9 +100,19 @@ namespace OpenSim.Region.ScriptEngine.Yengine iarObjects = new object[iarObjects.Length]; if(iarStrings != null) iarStrings = new string[iarStrings.Length]; + if (iarFloats != null) + newheapUse += iarFloats.Length * HeapTrackerObject.HT_DOUB; + if (iarIntegers != null) + newheapUse += iarIntegers.Length * HeapTrackerObject.HT_INT; + if (iarRotations != null) + newheapUse += iarRotations.Length * HeapTrackerObject.HT_ROT; + if (iarVectors != null) + newheapUse += iarVectors.Length * HeapTrackerObject.HT_VEC; + + heapUse = instance.UpdateHeapUse(0, newheapUse); } - public void AllocVarArrays(XMRInstArSizes ars) + public void AllocVarArrays(XMRInstArSizes ars) { ClearOldArrays(); int newuse = heapUse + @@ -204,7 +214,7 @@ namespace OpenSim.Region.ScriptEngine.Yengine // value types simply are the size of the value * number of values newheapuse += chrs.Length * HeapTrackerObject.HT_CHAR; - newheapuse += flts.Length * HeapTrackerObject.HT_SFLT; + newheapuse += flts.Length * HeapTrackerObject.HT_DOUB; newheapuse += ints.Length * HeapTrackerObject.HT_INT; newheapuse += rots.Length * HeapTrackerObject.HT_ROT; newheapuse += vecs.Length * HeapTrackerObject.HT_VEC;