本文整理汇总了C#中ProtoCore.Allocate方法的典型用法代码示例。如果您正苦于以下问题:C# ProtoCore.Allocate方法的具体用法?C# ProtoCore.Allocate怎么用?C# ProtoCore.Allocate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProtoCore
的用法示例。
在下文中一共展示了ProtoCore.Allocate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Repack
public static StackValue Repack(Obj obj, ProtoCore.DSASM.Heap heap)
{
if (obj.Type.IsIndexable)
{
//Unpack each of the elements
DsasmArray arr = (DsasmArray)obj.Payload;
StackValue[] sv = new StackValue[arr.members.Length];
//recurse over the array
for (int i = 0; i < sv.Length; i++)
sv[i] = Repack(arr.members[i], heap);
int size = sv.Length;
lock (heap.cslock)
{
int ptr = heap.Allocate(size);
++heap.Heaplist[ptr].Refcount;
for (int n = size - 1; n >= 0; --n)
{
heap.Heaplist[ptr].Stack[n] = sv[n];
}
StackValue overallSv = StackUtils.BuildArrayPointer(ptr);
return overallSv;
}
}
// For non-arrays, there is nothing to repack so just return the original stackvalue
return obj.DsasmValue;
}