Example #1
0
        //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);
        }