public static void Test1() { Console.WriteLine("Enter Test1"); LargeStruct s = new LargeStruct(); s.i2 = 5; TestWrite(1, 2, 3, 4, s); // 4 int reg args, then struct stack arg }
public static void EatStackThenTest1(int level = 0) { LargeStruct s = new LargeStruct(); s.i2 = level; Escape(ref s); if (level < 10) { EatStackThenTest1(level + 1); } else { Test1(); } }
public static void Escape(ref LargeStruct s) { }
public static void TestWrite(int i1, int i2, int i3, int i4, LargeStruct s) { Console.Write("Enter TestWrite: "); Console.WriteLine(i1 + i2 + i3 + i4 + s.i2); iret = 100; }