예제 #1
0
 public void SetLink(int iRep, int iObj)
 {
     for (int i = 0; i < iRep; i++)
     {
         Mv_Doub[i] = new DoubLink(iObj);
     }
 }
예제 #2
0
 public void SetLink(int iRep, int iObj)
 {
     for (int i = 0; i < iRep; i++)
     {
         Mv_Doub[0] = new DoubLink(iObj, true);
         GC.Collect();
     }
 }
예제 #3
0
        public void SetLink(int iRep, int iObj)
        {
            for(int i=0; i<iRep; i++)
            {
                Mv_Doub = new DoubLink(iObj);
            }

        }
예제 #4
0
 public void SetLink(int iRep, int iObj)
 {
     Mv_Doub = new DoubLink[iRep];
     for (int i = 0; i < iRep; i++)
     {
         Mv_Doub[i] = new DoubLink(iObj);
         Mv_Save.Enqueue(Mv_Doub[i][0]);
     }
 }
예제 #5
0
        public void SetLink(int iRep, int iObj)
        {
            Mv_Doub = new DoubLink[iRep];

            for (int i = 0; i < iRep; i++)
            {
                Mv_Doub[i] = new DoubLink(iObj);

                Mv_DLink[n_count] = Mv_Doub[i][0];
                n_count++;
            }
        }
예제 #6
0
        public bool runTest(int iRep, int iObj)
        {
            SetLink(iRep, iObj);
            Mv_Doub = null;

            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

            Console.Write(DLinkNode.FinalCount);
            Console.WriteLine(" DLinkNodes finalized");
            return(DLinkNode.FinalCount == iRep * iObj);
        }
예제 #7
0
        public bool runTest(int iRep, int iObj)
        {
            SetLink(iRep, iObj);
            Mv_Doub = null;

            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

            Console.Write(DLinkNode.FinalCount);
            Console.WriteLine(" DLinkNodes finalized");
            return (DLinkNode.FinalCount==iRep*iObj);

        }
예제 #8
0
        public bool runTest(int iRep, int iObj)
        {
            SetLink(iRep, iObj);
            Mv_Doub = null;
            bool success = false;

            if (DrainFinalizerQueue(iRep, iObj))
            {
                success = true;
            }

            Console.Write(DLinkNode.FinalCount);
            Console.WriteLine(" DLinkNodes finalized");
            return(success);
        }
예제 #9
0
        public void SetLink(int iRep, int iObj)
        {
            Mv_Doub = new DoubLink[iRep];

            for (int i = 0; i < iRep; i++)
            {
                // create DoubLink element in array
                Mv_Doub[i] = new DoubLink(iObj);

                // add DoubLink element to List<object>
                Mv_Collect.Add(Mv_Doub[i]);

                // kill reference to DoubLink in array
                Mv_Doub[i] = null;
            }
        }
예제 #10
0
        public bool runTest(int iRep, int iObj)
        {
            SetLink(iRep, iObj);
            Mv_Doub = null;

            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

            if (DLinkNode.FinalCount != iRep * iObj)
            {
                // see github#4093 for the rationale for fail-fast in this test.
                Environment.FailFast(string.Empty);
            }

            Console.Write(DLinkNode.FinalCount);
            Console.WriteLine(" DLinkNodes finalized");
            return(DLinkNode.FinalCount == iRep * iObj);
        }
예제 #11
0
        public bool runTest(int iRep, int iObj)
        {
            SetLink(iRep, iObj);
            Mv_Doub = null;

            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

            if (DLinkNode.FinalCount != iRep * iObj)
            {
                // see github#4093 for the rationale for fail-fast in this test.
                Environment.FailFast(string.Empty);
            }

            Console.Write(DLinkNode.FinalCount);
            Console.WriteLine(" DLinkNodes finalized");
            return (DLinkNode.FinalCount==iRep*iObj);

        }
예제 #12
0
        public void SetLink(int iRep, int iObj)
        {
            Mv_Doub = new DoubLink[iRep];

            for(int i=0; i<iRep; i++)
            {
                // create DoubLink element in array
                Mv_Doub[i] = new DoubLink(iObj);

                // add DoubLink element to List<object>
                Mv_Collect.Add(Mv_Doub[i]);

                // kill reference to DoubLink in array
                Mv_Doub[i] = null;
            }

        }
예제 #13
0
        public void SetLink(int iRep, int iObj)
        {
            Mv_Doub = new DoubLink[iRep];

            for(int i=0; i<iRep; i++)
            {
                Mv_Doub[i] = new DoubLink(iObj);

                Mv_DLink[n_count] = Mv_Doub[i][0];
                n_count++;
            }

        }
예제 #14
0
        public void SetLink(int iRep, int iObj)
        {

            for(int i=0; i<iRep; i++)
            {
                Mv_Doub[i] = new DoubLink(iObj, true);
            }
            GC.Collect();
        }
예제 #15
0
 // Do not inline the method that creates GC objects, because it could
 // extend their live intervals until the end of the parent method.
 public void CreateDLinkListsWithLeak(int iRep, int iObj)
 {
     SetLink(iRep, iObj);
     Mv_Doub = null;
 }
예제 #16
0
        public void SetLink(int iRep, int iObj)
        {
            Mv_Doub = new DoubLink[iRep];
            for(int i=0; i<iRep; i++)
            {
                Mv_Doub[i] = new DoubLink(iObj);
                Mv_Save.Enqueue(Mv_Doub[i][0]);
            }

        }