Merge pull request #4020 from akoeplinger/mobile_static-rename
[mono.git] / mono / tests / gc-graystack-stress.cs
index 7d711d9a259a7dca28f474dd175f0dac85e2f5c3..79743cd249664beb3986a257c37cdf06d5445ba8 100644 (file)
@@ -33,7 +33,11 @@ class Program {
                if (args.Length > 0)
                        width = Math.Max (width, Int32.Parse (args [0]));
 
-               int depth = 10000;
+               // Windows x64 only has 1 MB of stack per thread which is less than other x86 64-bit OSes.
+               // Using 10000 for depth will cause a stack overflow on Windows x64. 5000 will fit.
+               int platform = (int) Environment.OSVersion.Platform;
+               bool isWin64 = !(platform == 4 || platform == 128) && Environment.Is64BitProcess;
+               int depth = isWin64 ? 5000 : 10000;
                if (args.Length > 1)
                        depth = Math.Max (depth, Int32.Parse (args [1]));