public static void Pop() { Debug.Assert(threadLocal != null); CILThreadLocalStorage temp = threadLocal; threadLocal = threadLocal.previous; temp.previous = threadFreeList; threadFreeList = temp; }
private void Init( PcodeSystem.IEvaluationContext EvaluationContext, IntPtr[] FunctionPointers, int[] FunctionSignatures, CILThreadLocalStorage previous) { this.EvaluationContext = EvaluationContext; this.FunctionPointers = FunctionPointers; this.FunctionSignatures = FunctionSignatures; this.previous = previous; }
public static void Push( PcodeSystem.IEvaluationContext EvaluationContext, IntPtr[] FunctionPointers, int[] FunctionSignatures) { CILThreadLocalStorage top = threadFreeList; if (top == null) { top = new CILThreadLocalStorage(); } else { threadFreeList = threadFreeList.previous; } top.Init(EvaluationContext, FunctionPointers, FunctionSignatures, threadLocal); threadLocal = top; }