/// <summary> /// Calculates the base memory size for this script from the /// const pool size and bytecode size /// </summary> /// <returns></returns> public int CalcBaseMemorySize() { int sz = ByteCode.Length; sz += MemoryCalc.CalcSizeOf(ConstPool); return(sz); }
public void ReplaceStored(object lOld, object lNew) { MemoryUsed += MemoryCalc.CalcSizeOf(lNew) - MemoryCalc.CalcSizeOf(lOld); if (MemoryUsed > MAX_MEMORY) { throw new VMException("Out of memory"); } }
public void OperandStackPush(object obj) { MemoryUsed += MemoryCalc.CalcSizeOf(obj); if (MemoryUsed > MAX_MEMORY) { throw new VMException("Out of memory"); } }
public void AddCall(StackFrame f) { MemoryUsed += MemoryCalc.CalcSizeOf(f.Locals); MemoryUsed += StackFrame.MemSize; if (MemoryUsed > MAX_MEMORY) { throw new VMException("Out of memory"); } }
public void CompleteCall(StackFrame f) { MemoryUsed -= MemoryCalc.CalcSizeOf(f.Locals); MemoryUsed -= StackFrame.MemSize; }