mirror of
https://github.com/opensim/opensim.git
synced 2026-05-15 03:15:41 +08:00
remember heap used by locals
This commit is contained in:
@@ -55,8 +55,7 @@ namespace OpenSim.Region.ScriptEngine.Yengine
|
||||
|
||||
public HeapTrackerBase(XMRInstAbstract inst)
|
||||
{
|
||||
if(inst == null)
|
||||
throw new ArgumentNullException("inst");
|
||||
ArgumentNullException.ThrowIfNull(inst);
|
||||
instance = inst;
|
||||
usage = 0;
|
||||
}
|
||||
|
||||
@@ -184,6 +184,22 @@ namespace OpenSim.Region.ScriptEngine.Yengine
|
||||
scriptStateN.AppendChild(plugins);
|
||||
//m_RunOnePhase = "GetExecutionState H";
|
||||
|
||||
if(m_localsHeapUsed > 0)
|
||||
{
|
||||
XmlElement lheap = doc.CreateElement("", "LHeapUse", "");
|
||||
lheap.AppendChild(doc.CreateTextNode(m_localsHeapUsed.ToString()));
|
||||
scriptStateN.AppendChild(lheap);
|
||||
}
|
||||
|
||||
/*
|
||||
if(m_StackLeft < m_StackSize)
|
||||
{
|
||||
XmlElement stk = doc.CreateElement("", "stkLft", "");
|
||||
stk.AppendChild(doc.CreateTextNode(m_StackLeft.ToString()));
|
||||
scriptStateN.AppendChild(stk);
|
||||
}
|
||||
*/
|
||||
|
||||
// Let script run again.
|
||||
suspendOnCheckRunHold = false;
|
||||
|
||||
|
||||
@@ -544,6 +544,13 @@ namespace OpenSim.Region.ScriptEngine.Yengine
|
||||
MigrateInEventHandler(ms);
|
||||
}
|
||||
|
||||
XmlElement localHeapN = (XmlElement)scriptStateN.SelectSingleNode("LHeapUse");
|
||||
if (localHeapN != null)
|
||||
m_localsHeapUsed = int.Parse(localHeapN.InnerText);
|
||||
//XmlElement stkN = (XmlElement)scriptStateN.SelectSingleNode("stkLft");
|
||||
//if (stkN != null)
|
||||
// m_StackLeft = int.Parse(stkN.InnerText);
|
||||
|
||||
XmlElement permissionsN = (XmlElement)scriptStateN.SelectSingleNode("Permissions");
|
||||
m_Item.PermsGranter = new UUID(permissionsN.GetAttribute("granter"));
|
||||
m_Item.PermsMask = Convert.ToInt32(permissionsN.GetAttribute("mask"));
|
||||
|
||||
Reference in New Issue
Block a user