mantis 8518: Yengine; we can't wait for GC (worse finalizers) to count released memory of some local variables, so add a pseudo free; fix memory account on timeslice rentry; change the folder for the debug IL files; fix memory usage on reset. This changes will only take effect on new compiles

This commit is contained in:
UbitUmarov
2019-04-15 23:32:22 +01:00
parent cfd3923868
commit a83b7a292b
9 changed files with 178 additions and 80 deletions

View File

@@ -1483,7 +1483,8 @@ namespace OpenSim.Region.ScriptEngine.Yengine
{
if(type.ToHeapTrackerType() != null)
{
this.localBuilder = scg.ilGen.DeclareLocal(type.ToHeapTrackerType(), name);
localBuilder = scg.ilGen.DeclareLocal(type.ToHeapTrackerType(), name);
scg.HeapLocals.Add(localBuilder);
scg.PushXMRInst();
scg.ilGen.Emit(type, OpCodes.Newobj, type.GetHeapTrackerCtor());
scg.ilGen.Emit(type, OpCodes.Stloc, localBuilder);
@@ -1547,6 +1548,7 @@ namespace OpenSim.Region.ScriptEngine.Yengine
scg.ilGen.Emit(errorAt, OpCodes.Ldloc, localBuilder);
scg.ilGen.Emit(errorAt, OpCodes.Ldloc, htpop);
type.CallHeapTrackerPopMeth(errorAt, scg.ilGen);
scg.HeapLocals.Add(htpop);
}
else
{