//public void Lock( int n ) { // this.EnsureRoom( n ); // this.dump.Push( this.layer ); // this.layer = this.top; // Array.Fill( this.items, default( T ), this.top, n ); // this.top += n; //} public int RawLock(int nlocals, CheckedLayeredStack <T> src) { this.EnsureRoom(nlocals); this.Lock(); var nargs = src.RawSend(this); Array.Fill(this.items, default(T), this.top + nargs, nlocals - nargs); this.top += nlocals; return(nargs); }