public void Align(ProtoCore.Runtime.RuntimeMemory rMem) { if (null == rMem) return; mRestorePoint = 0; mStack.Clear(); mRestorePoint = rMem.Stack.Count; //Record the stack elements which is above the frame pointer int nDiff = mRestorePoint - rMem.FramePointer; for (int i = 0; i < nDiff; i++) { mStack.Add(rMem.Pop()); } mRestorePoint = rMem.Stack.Count; mRmem = rMem; return; }