[xBuild] Support use of properties defined in Choose elements in project references
[mono.git] / mono / tests / finalizer-exception.cs
index d11e1696f1487540efebaa76a63c95f769e0e5c1..f11a1dcdeffd2ce3eb23d16d088a431977b999aa 100644 (file)
@@ -6,13 +6,27 @@ public class FinalizerException {
                throw new Exception ();
        }
 
+       /*
+        * We allocate the exception object deep down the stack so
+        * that it doesn't get pinned.
+        */
+       public static unsafe void MakeException (int depth) {
+               // Avoid tail calls
+               int* values = stackalloc int [20];
+               if (depth <= 0) {
+                       new FinalizerException ();
+                       return;
+               }
+               MakeException (depth - 1);
+       }
+
        public static int Main () { 
                AppDomain.CurrentDomain.UnhandledException += (sender, args) => {
                        Console.WriteLine ("caught");
                        Environment.Exit (0);
                };
 
-               new FinalizerException ();
+               MakeException (1024);
 
                GC.Collect ();
                GC.WaitForPendingFinalizers ();